糾正我,如果我誤解了你的問題。
問: 是否可以將來自我的數組的LatLng數據點放入triangleCoords並創建多邊形?
答:
簡短的回答:沒有。不幸的是,在google.maps.Polygon
代碼會神奇地揣摩指定google.maps.LatLng
對象的lat
和lng
座標沒有你的機智。
您將需要使用lat()
和lng()
API從google.maps.LatLng
對象返回原始座標值並將其插入到您的陣列中。沒有捷徑。
實施例:
var map = new google.maps.Map(document.getElementById("map"),
{
zoom: 4,
center: new google.maps.LatLng(22.7964, 79.8456),
mapTypeId: google.maps.MapTypeId.HYBRID
});
var coordinateA = new google.maps.LatLng(18.979026,72.949219);
var coordinateB = new google.maps.LatLng(28.613459,77.255859);
var coordinateC = new google.maps.LatLng(22.512557,88.417969);
var coordinateD = new google.maps.LatLng(12.940322,77.607422);
var coords =
[
{lat: coordinateA.lat(), lng: coordinateA.lng() },
{lat: coordinateB.lat(), lng: coordinateB.lng() },
{lat: coordinateC.lat(), lng: coordinateC.lng() },
{lat: coordinateD.lat(), lng: coordinateD.lng() }
];
metros = new google.maps.Polygon(
{
paths: coords,
strokeColor: "#0000FF",
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: "#0000FF",
fillOpacity: 0.26
});
參見here用於工作的jsfiddle例子。 http://jsfiddle.net/SamuelToh/3srggbmu/