繁体   English   中英

如何平移和缩放标记所定义的地图范围

[英]How do I pan and zoom to the bounds of a map defined by the markers

当我有1个标记时,它应该放大地图到标记(高缩放级别?放大更多)

当我有多个标记时,它应该检测所有标记(上,右,下和左)定义的边缘并放大

我有以下代码:

lMap.fitBounds(new L.LatLngBounds(this.bounds));

下一步是什么?

var zoom = lMap.getBoundsZoom(new L.LatLngBounds(this.bounds));
lMap.setZoom(zoom);

还是一些平移/缩放内部方法?

JSFiddle应该显示如何使用map.fitBounds来完成您想要的事情。 基本上,只需传入LatLng对象的数组即可。

您可以创建一个边界对象

var bounding = new google.maps.LatLngBounds();

添加您的标记

bounding.extend(myMarker1LatLng);
bounding.extend(myMarker2LatLng);
...

然后使用该边界对象设置地图视图

map.fitBounds(bounding);

https://developers.google.com/maps/documentation/javascript/reference?csw=1#LatLngBounds

我很确定它的工作

var bounds = new google.maps.LatLngBounds();

             for (i = 0; i < markers.length; i++) {
                 var data = markers[i]

                 if (data.lat != '' && data.lng != '') {
                     var myLatlng = new google.maps.LatLng(data.lat, data.lng);

                     var marker = new google.maps.Marker({
                         position: myLatlng,
                         icon: iconBase,
                         map: map,
                         title: data.Name


                     });
                 }
                 bounds.extend(myLatlng);

和地图视图

map.setCenter(bounds.getCenter(), map.fitBounds(bounds));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM