无法在谷歌地图上显示多边形
Failed to show polygon on Google Map
我试着用Chrome和JSLint调试这段代码4天没有任何希望。我的代码应该在谷歌地图上显示2个区域,由它们的RegionID
<body>
<div id="map_canvas" style="width: 100%; height: 100%;"></div>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?sensor=false®ion=vi&language=vi">
</script>
<script type="text/javascript" src="jquery-1.9.1.min.js"></script>
<script type="text/javascript">
var map;
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(10.79, 826.694),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"),
mapOptions);
}
</script>
<script type="text/javascript">
$(document).ready(function () {
initialize();
var model = [{"ID":946,"Latitude":10.7654200827348,"Longitude":106.681716282384,"RegionID":80},{"ID":947,"Latitude":10.7563117596896,"Longitude":106.685397072824,"RegionID":80},{"ID":948,"Latitude":10.7537788369752,"Longitude":106.68713674361,"RegionID":80},
{"ID":1271,"Latitude":10.8577143149377,"Longitude":106.657884916756,"RegionID":82},{"ID":1272,"Latitude":10.8576257110992,"Longitude":106.657710314914,"RegionID":82},{"ID":1273,"Latitude":10.8575762617472,"Longitude":106.657500586099,"RegionID":82},{"ID":1274,"Latitude":10.8575794962578,"Longitude":106.657309632748,"RegionID":82},{"ID":1275,"Latitude":10.8576187762307,"Longitude":106.65709567219,"RegionID":82}]
polygon(model);
});
</script>
这是polygon
函数
// Take an array of objects that have lat and lon attribute
function polygon(polygonCoords) {
// Initialize
// First dimension
var id = polygonCoords[0].RegionID;
var long;
var lat;
var region = new Array();
for (var i = 0; i < polygonCoords.length; i++) {
if ((id != polygonCoords[i].RegionID) || (i == polygonCoords.length - 1)) {
// Draw polygon
// Set path to a polygon along with polygon's option
var regionPolygon = new google.maps.Polygon({
paths: region,
fillColor: "#0000A0",
editable: false,
});
// Set to map
regionPolygon.setMap(map);
// Reset stuffs
region.length = 0;
id = polygonCoords[i].RegionID;
}
long = polygonCoords[i].Longitude;
lat = polygonCoords[i].Latitude;
region.push(new google.maps.LatLng(lat, long));
}
}
我收到的只是一张没有任何多边形的谷歌地图。我试着删除for循环,并通过一个变量推到region
数组,它再次工作。这很荒谬,但这是我在4天后发现的。谢谢你
我不能告诉你这里发生了什么,但是当我替换
时,它对我有效region.length=0;
region=[];
相关文章:
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何在生成下载文件时显示加载动画
- GoogleMaps V3仅显示1个多边形
- 单击角度谷歌地图中的多边形时如何显示窗口
- 谷歌地图/融合表Javascript HTML赢得't显示/可视化所有多边形数据(通过色标)
- 如何在具有多边形的同一地图上显示自定义标记
- 提交动态选择框值以显示多重多边形
- 在多边形贴图上显示 svg 圆
- HTML5画布,可以在多边形上/在多边形中显示图像
- 打开图层如何仅在鼠标悬停时显示多边形,并在鼠标退出时隐藏多边形
- 多边形的创建和显示之间的延迟
- Bing Maps v7-多边形会阻止多边形内(后面)显示的引脚的鼠标悬停事件
- 在谷歌地图上添加侧边栏,显示'的多边形属性
- 无法使用d3显示多边形
- 多个多边形显示在谷歌地图上
- 无法在谷歌地图上显示多边形
- 在我缩放到的多边形中显示标记
- 谷歌地图v3-Can't获取要在地图上显示的多边形和/或矩形
- 谷歌地图多边形显示/隐藏与复选框切换