百度地图API使用方法详解


Posted in PHP onAugust 25, 2015

最近做了个项目,其中项目中有个需求需要用到百度地图进行导航,通过查阅相关资料参考百度地图api完成了一个例子。

示例一:

API地址:http://developer.baidu.com/map/jsdemo.htm#a1_2

<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
 <style type="text/css">
 body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
 </style>
 <!--调用百度api -->
 <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的密钥"></script> 
 <title>地图展示</title>
</head>
<body>
 <div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
 // 百度地图API功能
 var map = new BMap.Map("allmap"); // 创建Map实例
 map.centerAndZoom("西安", 5);  // 初始化地图,用城市名设置地图中心点
 map.addControl(new BMap.MapTypeControl()); //添加地图类型控件
 map.setCurrentCity("深圳");   // 设置地图显示的城市 此项是必须设置的
 map.enableScrollWheelZoom(true);  //开启鼠标滚轮缩放
 var point = new BMap.Point(116.404, 39.915);
 var marker = new BMap.Marker(point); // 创建点
 map.addOverlay(marker); //添加点
 map.removeOverlay(marker); //删除点
 // 创建地址解析器实例
 var myGeo = new BMap.Geocoder();
 //批量解析
 var adds = ["长沙", "深圳", "香港", "郑州 ", "惠州", "南昌", "赣州", "中山", "阳江", "上海", "无锡", "南京"];
 for (var i = 0; i < adds.length; i++) {
  myGeo.getPoint(adds[i], function (point) {
   if (point) {
    var address = new BMap.Point(point.lng, point.lat);
    var marker = new BMap.Marker(address);
    map.addOverlay(marker);
    var opts = {
     width: 120,  // 信息窗口宽度
     height: 70,  // 信息窗口高度
     title: "项目信息" // 信息窗口标题
    }
    var infoWindow = new BMap.InfoWindow("<a href='#' target='blank'>查看详情</a>", opts); // 创建信息窗口对象
    marker.addEventListener("click", function () {
     map.openInfoWindow(infoWindow,address); //开启信息窗口
    });
   }
  }, "深圳市");
 }
 getBoundary("中国");
 function getBoundary(sRegion) {
  var bdary = new BMap.Boundary();
  bdary.get(sRegion, function (rs) { //获取行政区域
   var count = rs.boundaries.length; //行政区域的点有多少个
   for (var i = 0; i < count; i++) {
    var ply = new BMap.Polygon(rs.boundaries[i], { strokeWeight: 2, strokeColor: "#4A7300", fillColor: "#FFF8DC" }); //建立多边形覆盖物
    map.addOverlay(ply); //添加覆盖物
   }
  });
 }
</script>

 效果如下:

百度地图API使用方法详解

示例二:

百度地图API是由JavaScript语言编写的,在使用之前需要将API引用到页面中:  现在新版本的需要密钥,下面用的是旧版的

<script src="http://api.map.baidu.com/api?v=版本&services=true或者false" type="text/javascript"></script>

显示广州火车站简单实例:

百度地图API使用方法详解

<!DOCTYPE html> 
<html> 
<head> 
 <meta charset="utf-8"/> 
 <title>百度地图API的使用</title> 
 <!-- 百度地图API-->
 <script src="http://api.map.baidu.com/api?v=1.2" type="text/javascript"></script> 
 <script type="text/javascript"> 
 function initialize() { 
  //创建地图实例 
  var map = new BMap.Map('map'); 
  //创建一个坐标
  var point =new BMap.Point(113.264641,23.154905);
  //地图初始化,设置中心点坐标和地图级别 
  map.centerAndZoom(point,15); 
 } 
 window.onload = initialize; 
 </script> 
</head> 
<body> 
<!-- 百度地图地图容器-->
 <div id="map" style="width:500px;height:320px"></div> 
</body> 
</html>

地图上添加控件:

百度地图API使用方法详解

//添加控件

map.addControl(new BMap.MapTypeControl());

MapTypeControl ---------地图类型控件

CopyrightControl --------版权控件

ScaleControl       --------比例尺控件

NavigationControl  ------缩放控件

OverviewMapControl  ----缩略图控件

创建标注:

百度地图API使用方法详解

var marker = new BMap.Marker(point);   // 创建标注
map.addOverlay(marker);      // 将标注添加到地图中

创建信息窗口:

百度地图API使用方法详解

var infoWindow = new BMap.InfoWindow("I am here"); // 创建信息窗口对象
map.openInfoWindow(infoWindow,point);     //开启信息窗口

百度地图偏移量:

经度校正值: 0.008774687519;

纬度校正值: 0.00374531687912;

PHP 相关文章推荐
php array_flip() 删除数组重复元素
Jan 14 PHP
php 连接mysql连接被重置的解决方法
Feb 15 PHP
PHP Switch 语句之学习笔记
Sep 21 PHP
php+mysql实现用户注册登陆的方法
Jan 03 PHP
Laravel的throttle中间件失效问题解决方法
Oct 09 PHP
php实现的SSO单点登录系统接入功能示例分析
Oct 12 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
Jan 30 PHP
php中实现字符串翻转的方法
Feb 22 PHP
PHP递归实现快速排序的方法示例
Dec 18 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
May 06 PHP
laravel框架中间件 except 和 only 的用法示例
Jul 12 PHP
php并发加锁问题分析与设计代码实例讲解
Feb 26 PHP
PHP实现生成唯一会员卡号
Aug 24 #PHP
PHP实现微信发红包程序
Aug 24 #PHP
php 利用socket发送HTTP请求(GET,POST)
Aug 24 #PHP
php实现递归的三种基本方式
Jul 04 #PHP
php析构函数的简单使用说明
Aug 24 #PHP
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
Aug 23 #PHP
dvwa+xampp搭建显示乱码的问题及解决方案
Aug 23 #PHP
You might like
使用php统计字符串中中英文字符的个数
2013/06/23 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
2013/12/03 PHP
Yii2实现增删改查后留在当前页的方法详解
2017/01/13 PHP
从阶乘函数对比Javascript和C#的异同
2012/05/31 Javascript
url参数中有+、空格、=、%、&amp;、#等特殊符号的问题解决
2013/05/15 Javascript
关于Javascript与iframe的那些事儿
2013/07/04 Javascript
jQuery 设置 CSS 属性示例介绍
2014/01/16 Javascript
javascript中clone对象详解
2014/12/03 Javascript
js中this的用法实例分析
2015/01/10 Javascript
浅谈JavaScript数据类型及转换
2015/02/28 Javascript
jquery使用animate方法实现控制元素移动
2015/03/27 Javascript
浅谈$('div a') 与$('div&gt;a')的区别
2016/07/18 Javascript
妙用Angularjs实现表格按指定列排序
2017/06/23 Javascript
jquery 给动态生成的标签绑定事件的几种方法总结
2018/02/24 jQuery
python分析apache访问日志脚本分享
2015/02/26 Python
python通过cookie模拟已登录状态的初步研究
2016/11/09 Python
windows下Virtualenvwrapper安装教程
2017/12/13 Python
pandas系列之DataFrame 行列数据筛选实例
2018/04/12 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
2018/10/29 Python
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
Django model重写save方法及update踩坑详解
2020/07/27 Python
如何把python项目部署到linux服务器
2020/08/26 Python
python+selenium实现12306模拟登录的步骤
2021/01/21 Python
用纯css3实现的图片放大镜特效效果非常不错
2014/09/02 HTML / CSS
基于HTML5 Canvas 实现弹出框效果
2017/06/05 HTML / CSS
Html5实现移动端、PC端 刮刮卡效果
2016/06/30 HTML / CSS
美国女孩服装购物网站:Justice
2017/03/04 全球购物
图库照片、免版税图片、矢量艺术、视频片段:Depositphotos
2019/08/02 全球购物
公司清洁工岗位职责
2013/12/14 职场文书
研究生毕业鉴定
2014/01/29 职场文书
大专生毕业的自我评价
2014/02/06 职场文书
2014学习全国两会精神心得体会2000字
2014/03/11 职场文书
党支部公开承诺践诺书
2014/03/28 职场文书
儿园租房协议书范本
2014/12/02 职场文书
python必学知识之文件操作(建议收藏)
2021/05/30 Python
Python各协议下socket黏包问题原理
2022/04/12 Python