您的位置:首页 > 其它

百度地图之根据地图上的点确定地图的放缩比例

2016-07-01 00:00 417 查看
摘要: 当然在这两点都存在的情况下,否则也可以以一个新的点为中心。根据需要自行修改。

第一:以当前坐标为中心 按一定比例显示(map.centerAndZoom(pointLocation, 5);根据设置后面的参数)

[code=language-javascript]        var pointLocation = new BMap.Point(location.longitude, location.latitude);  //创建点坐标 当前位置
map.centerAndZoom(pointLocation, 5);
addMapControl();//向地图添加控件
var markerLocation = new BMap.Marker(pointLocation);//标注
map.addOverlay(markerLocation);
//自定义覆盖物
var CircleLocation = new BMap.Circle(pointLocation, 600, {
strokeColor: "blue",
strokeWeight: 1,
strokeOpacity: 0.5
});
map.addOverlay(CircleLocation);

第二:根据两点的位置来确定地图的放缩比例

[code=language-javascript]var pointLocation = new BMap.Point(location.longitude, location.latitude);  // 创建点坐标 当前位置
var pointCustomer = new BMap.Point(customerLocation.longitude, customerLocation.latitude);  // 创建点坐标 客户
var points = [pointLocation, pointCustomer];
var view = map.getViewport(eval(points));
var mapZoom = view.zoom;
var centerPoint = view.center;
map.centerAndZoom(centerPoint, mapZoom);
addMapControl();//向地图添加控件
//标注
var markerLocation = new BMap.Marker(pointLocation);
var markerCustomer = new BMap.Marker(pointCustomer);
map.addOverlay(markerLocation);
map.addOverlay(markerCustomer);
markerCustomer.addEventListener("click", function () { //点击标注时触发事件
map.openInfoWindow(infoWindow, pointCustomer);
});
//信息框
var infoWindow = new BMap.InfoWindow("地址:" + customerLocation.street, opts);
map.openInfoWindow(infoWindow, pointCustomer);
//自定义覆盖物
var circleCustomer = new BMap.Circle(pointCustomer, 40, {
strokeColor: "red",
strokeWeight: 1,
strokeOpacity: 1
});
var CircleLocation = new BMap.Circle(pointLocation, 200, {
strokeColor: "blue",
strokeWeight: 1,
strokeOpacity: 0.5
});
map.addOverlay(circleCustomer);
map.addOverlay(CircleLocation);



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: