我的谷歌地图多边形边界和缩放不起作用
My google maps polygon boundary and zoom is not working
我一直在努力使用绑定我的多边形......当我只有标记时,它似乎有效我是一个完全的地图初学者,所以任何帮助将不胜感激!我知道我把硬编码的长和纬度放在前面,但我不确定以后如何更新它。我以为我的最后一行代码应该这样做吗?
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);
虽然我知道地图对象上没有getBoundsZoomLevel函数。
相关文章:
- Rubaxa可与聚合物进行排序/拖放不起作用,具体取决于显示器:
- D3缩放不起作用
- 为什么这个文件上传拖放不起作用,我完全复制了 CodePen 代码
- jstree拖放不起作用
- 拖放不起作用
- HTML5 / Javascript - 在多个画布之间拖放不起作用的完美示例
- jQuery 拖放不起作用
- jQuery UI 可拖动/可拖放不起作用
- d3缩放不起作用
- 显示多个缩略图不起作用
- 谷歌拖放不起作用
- DOM对象标记上的SVG平移缩放不起作用
- HTML5拖放不起作用
- 当没有元素存在时,拖放不起作用
- 使用Rxjs实现的拖放不起作用
- 引导程序缩略图不起作用
- HTML5拖放不起作用
- 双击时,leaflet.js wms层缩放不起作用
- javascript拖放不起作用
- 我的谷歌地图多边形边界和缩放不起作用