1
我在使用googleapi繪製多邊形時遇到問題。哪些需要傳遞經緯度的雙數組。 JavaScript函數發生錯誤。從WPF向JavaScript函數傳遞double數組以創建使用GoogleAPI的多邊形
爲了測試pupose我有兩個類型的數組double。並在代碼中分配值。
var lats = Array.CreateInstance(typeof(double), 4);
var longs = Array.CreateInstance(typeof(double), 4);
lats.SetValue(25.774252, 0);
lats.SetValue(18.466465, 1);
lats.SetValue(32.321384, 2);
lats.SetValue(25.774252, 3);
longs.SetValue(-80.190262, 0);
longs.SetValue(-66.118292, 1);
longs.SetValue(-64.75737, 2);
longs.SetValue(-80.190262, 3);
currBrowser.InvokeScript("drawPloygon", lats, longs);
然後我調用JavaScript函數名'drawPolygon'並傳遞兩個單獨的數組。如果我在JavaScript函數'drawPolygon'中硬編碼triangleCoords,哪個工作正常。
function drawPloygon(lats,longs) {
try {
var mapOptions = {
center: new google.maps.LatLng(52.483617, -1.889992),
zoom: 8
};
var map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions)
var length = lats.length;
alert(lats);
alert(longs);
//Define the LatLng coordinates for the polygon's path.
var triangleCoords = [];
for (i = 0; i < length; i++) {
triangleCoords[i] = new google.maps.LatLng(this.javaSerial.Serialize(lats[i]), this.javaSerial.Serialize(longs[i]));
}
}
catch (err) {
alert(err);
}
var bermudaTriangle;
// Construct the polygon.
bermudaTriangle = new google.maps.Polygon({
paths: triangleCoords,
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35
});
bermudaTriangle.setMap(map);
}
**下面是硬編碼triangleCoords陣列完美工作呢繪製多邊形**
var triangleCoords = [
new google.maps.LatLng(25.774252, -80.190262),
new google.maps.LatLng(18.466465, -66.118292),
new google.maps.LatLng(32.321384, -64.75737),
new google.maps.LatLng(25.774252, -80.190262)
];
任何幫助將不勝感激。由於