Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了angularjs – Angular Google Maps – 自动设置“中心”和“缩放”以适应所有标记大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的Google Map中有一个动态生成标记列表.我想让地图的中心成为所有标记的中心,并将其缩小到足够大,以便所有标记都可以看到.

在计算地图中心方面,也许这可以通过遍历所有的纬度和经度并找到中心点来实现.但是,我无法弄清楚放大应该是什么的最佳方法.@H_772_2@

这可以实现吗?@H_772_2@

我的地图正在使用模板,如下所示:@H_772_2@

<ui-gmap-google-map events="map.events" center="map.center" zoom="map.zoom" draggable="true" options="options">
    <ui-gmap-marker ng-repeat="home in filteredHomes = (resCtrl.filteredHomes | orderBy : $storage.params.orderby : $storage.params.reverSEOrder)" coords="{latitude: home.LOCATIOn.latitude,longitude: home.LOCATIOn.longitudE}" idkey="home.homEID">
    </ui-gmap-marker>
</ui-gmap-google-map>

updatE@H_772_2@

尝试从@Tiborg的建议执行角度:@H_772_2@

uiGmapGoogleMapApi.then(function(maps) {
    $scope.map = {
        center: $scope.$storage.params.views.map.LOCATIOn,zoom: $scope.$storage.params.views.map.zoom,events: {
            click: function() {
                var bounds = new google.maps.LatLngBounds();
                for (var i in $scope.filteredHomes) {
                    bounds.extend($scope.filteredHomes[i].LOCATIOn);
                }
                $scope.map.fitBounds(bounds);
            }
        }
    };
});

这会产生控制台错误:TypeError:undefined不是一个函数(评估’a.lat()’)@H_772_2@

在Google Maps API中使用LatLngBounds类,如下所示:
var bounds = new google.maps.LatLngBounds();
for (var i in markers) // your marker list here
    bounds.extend(markers[i].position) // your marker position,must be a LatLng instance

map.fitBounds(bounds); // map should be your map class

它将很好地缩放和中心地图,以适应所有的标记.@H_772_2@

当然,这是纯粹的javascript,而不是角度版本,所以如果你有问题的实现它有角度(或者你没有访问地图实例从你得到的标记),让我知道.@H_772_2@

大佬总结

以上是大佬教程为你收集整理的angularjs – Angular Google Maps – 自动设置“中心”和“缩放”以适应所有标记全部内容,希望文章能够帮你解决angularjs – Angular Google Maps – 自动设置“中心”和“缩放”以适应所有标记所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。