百度地图API常用调用
来源:互联网 发布:软件测试的生命周期 编辑:程序博客网 时间:2024/06/04 20:08
百度地图API常用调用
(1) 创建地图前期准备
Html页面创建一个层
<divid="positionMap"></div>
添加js引用
<scripttype="text/javascript"src="http://api.map.baidu.com/api?v=2.0&ak=***"></script>
<scripttype="text/javascript"src="http://api.map.baidu.com/library/GeoUtils/1.2/src/GeoUtils_min.js"></script>
js函数调用
// 百度地图API功能
var map = new BMap.Map("positionMap");
map.centerAndZoom(new BMap.Point(latitude, longitude), $scope.viewZoom);
map.enableScrollWheelZoom();
(2) 添加地图控件
//添加左上角比例尺
map.addControl(new BMap.NavigationControl({anchor: BMAP_NAVIGATION_CONTROL_LARGE}));
//添加右下角缩略图
var overViewOpen=new BMap.OverviewMapControl({isOpen:true, anchor: BMAP_ANCHOR_BOTTOM_RIGHT});
map.addControl(overViewOpen); //右下角,打开
(3) 创建覆盖物
if(points!=undefined&& points!=null){
//有值的时候直接搞定
}else{
//根据中心点计算4个矩形坐标,量出5公里即可
var latitudeNum=0.045045;//1纬度是111公里
var longitudeNum=0.035045;//写个大概的值
var leftTopPoint=new BMap.Point(latitude+latitudeNum, longitude-longitudeNum);
var leftBottomPoint= new BMap.Point(latitude-latitudeNum, longitude-longitudeNum);
var rightTopPoint=new BMap.Point(latitude+latitudeNum, longitude+longitudeNum);
var rightBottomPoint=new BMap.Point(latitude-latitudeNum, longitude+longitudeNum);
var newPoints=[leftBottomPoint, leftTopPoint, rightTopPoint, rightBottomPoint];
points = newPoints;
}
var polygon=new BMap.Polygon(points,{
strokeColor: "red",
strokeWeight: 4,
strokeOpacity: 0.5,
fillColor : "none",
}); //创建多边形
map.addOverlay(polygon);//增加多边形
(4) 判断点是否在覆盖物范围内
var point = new BMap.Point($scope.fence.longitude, $scope.fence.latitude);
var t = BMapLib.GeoUtils.isPointInPolygon(point, $scope.polygon);
if(t===true){
upserve.tip("该点在覆盖范围内");
}else{
upserve.tip("该点在覆盖范围外");
}
(5) 删除地图覆盖物
map.clearOverlays(); //这个是删除全部
map.removeOverlay(polygon);
(6) 添加点击事件
//点击获取坐标
map.addEventListener("click",function(e){
//存储经纬度
lng = e.point.lng;
lat = e.point.lat;
map.centerAndZoom(e.point, 12);
//在地图上面描点
var marker=new BMap.Marker(new BMap.Point(lng,lat)); //创建标注
map.addOverlay(marker);
marker.enableDragging(); //可拖拽
var gc = new BMap.Geocoder();
//获取地址的数据地址
var pt = e.point;
gc.getLocation(pt,function(rs){
var addComp= rs.addressComponents;
address = addComp.province+ addComp.city+ addComp.district+ addComp.street+ addComp.streetNumber;
//画图
var label=new BMap.Label(address,{offset:new BMap.Size(20,-10)});
marker.setLabel(label);
map.addOverlay(marker);
});
});
- 百度地图API常用调用
- 百度地图api调用
- 百度地图常用API
- 调用百度地图API实例
- JS调用百度地图API
- 百度地图API调用实例
- javascript调用百度地图api
- 百度地图API的调用
- Android--调用百度地图API
- [API]百度地图的调用
- 百度地图api 异步调用
- js-调用百度地图api
- js调用百度地图API
- C#调用百度地图API
- 百度地图 API 调用 例子
- 关于百度地图API调用
- 调用百度地图Javascript API
- QT调用百度地图api
- laravel--Auth
- loadrunner-录制和回放时的乱码问题
- 常用git命令
- tp3.2中excel表格导出数据
- android动态生成背景透明带文字的图片
- 百度地图API常用调用
- Android APP更新下载工具类——简单封装DownloadManager
- 2014.8.28(放款时间) 20161103(输入天数) 20161128(结果)
- 【Shell】查看并杀死无响应进程
- IE8,IE7兼容问题整合
- 关于Dubbo学习总结
- Python之argv实现命令行参数实现
- 树和二叉树(四)-线索化二叉树
- Scroll View 组件使用基础