gpt4 book ai didi

javascript - 我的谷歌地图多边形边界和缩放不起作用

转载 作者:行者123 更新时间:2023-11-28 09:24:47 25 4
gpt4 key购买 nike

我一直在努力使用多边形的绑定(bind)...当我只有标记时它似乎有效我是 map 的初学者,因此我们将不胜感激!我知道我将硬编码的长和纬度放在前面,但我不知道以后如何更新它。我认为我的最后一行代码应该做到这一点?

function initialize() {
var projpoints = tempstr.split("|");
var mapDiv = document.getElementById('map-canvas');
var map = new google.maps.Map(mapDiv, {
center: new google.maps.LatLng(-26.6532808494364, 27.8769719868429 ),
zoom: 16,
mapTypeId: google.maps.MapTypeId.ROADMAP});
var bounds = new google.maps.LatLngBounds();
var pt = [];
for (var j = 0; j < projpoints.length; j++) {
pt=[];
var latlongpoints=projpoints[j].split(",");
for (var i = 0; i < latlongpoints.length; i++) {
var lat = (latlongpoints[i].split(" "));
var latlng = new google.maps.LatLng(lat[1],lat[0]);
pt.push(latlng);
bounds.extend(latlng);
var shape = new google.maps.Polygon({
paths: pt,
strokeColor: '#000000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#808080',
fillOpacity: 0.35
});

shape.setMap(map);
}

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

}

最佳答案

除了执行 bounds.extend 之外,您可能还需要在循环结束后执行 map.fitBounds(bounds);

您对 map.setCenter 的调用不正确。该函数仅采用一个参数,即 LatLng。你已经通过了两次。我假设你想做:

map.setCenter(bounds.getCenter());
map.getBoundsZoomLevel(bounds);

尽管据我所知, map 对象上没有 getBoundsZoomLevel 函数。

关于javascript - 我的谷歌地图多边形边界和缩放不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14547552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com