我试图让谷歌地图API的Javascript从JSON取分,并使用computeOffset()函数来计算左,右,这样我可以积使用多边形的路径点谷歌地图的JavaScript制作路径。我目前的代码似乎只是制造奇怪的形状,而不是从点到点进行干净的多边形连接。与多边形
我定义VAR lastPoint作为lastPoint从jQuery $。每个循环,这样,当查询转到下一个纬度经度值多边形将连接到以前的点。而不是从点到点的漂亮的方形多边形我得到奇怪的形状,主要是三角形而不是正方形。
$.getJSON('sixth.json', function(data) {
var lastPoint;
var myLatlng2;
var polyShape;
$.each(data.contactdetails, function(i, value) {
myLatlng2 = new google.maps.LatLng(value.lat, value.lng);
var boomwidth = value.boomwidth;
var bear = value.bear;
var boomconversionfactor = 1;
//computeOffset returns a LatLng position by using the bearing and number of feet to return another location
var point1 = google.maps.geometry.spherical.computeOffset(myLatlng2, (0.30480 * boomwidth * boomconversionfactor)/2, bear + 90);
var point2 = google.maps.geometry.spherical.computeOffset(myLatlng2, (0.30480 * boomwidth * boomconversionfactor)/2, bear - 90);
var point3 = google.maps.geometry.spherical.computeOffset(myLatlng2, (0.30480 * boomwidth * boomconversionfactor)/2, 90 + bear);
var point4 = google.maps.geometry.spherical.computeOffset(myLatlng2, (0.30480 * boomwidth * boomconversionfactor)/2, bear - 90);
if (lastPoint !== undefined){
var point1 = google.maps.geometry.spherical.computeOffset(lastPoint, (0.30480 * boomwidth * boomconversionfactor)/2, bear + 90);
var point2 = google.maps.geometry.spherical.computeOffset(lastPoint, (0.30480 * boomwidth * boomconversionfactor)/2, bear - 90);
}
var Coords = [point1,point2, point3, point4];
// Construct the polygon.
polyShape = new google.maps.Polygon({
paths: Coords,
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35
});
polyShape.setMap(map);
//assign lastPoint the lat lng value from the jQuery loop. Trying to connect previous position to next by placing the lastPoint outside the loop.
lastPoint = myLatlng2;
}); //close of .each jQuery loop
});
这是json包含的内容。当我使用标记提醒或情节时,地图上的位置显示正确。
这里是一个图像。而不是干净地关闭多边形,我得到这些三角形的块。
什么是'second.json'的数据? (或将展示该问题的示例数据...) – geocodezip
@geocodezip我已经放置了上述json的内容。谢谢 – johnsonjp34
将这些红线放在一个单一的多边形中可以看到一个奇怪的多边形。你真的想做什么? – geocodezip