1
googleapi를 사용하여 다각형 그리기에 문제가 있습니다. 위도와 경도에 대해 double 배열을 전달해야합니다. JavaScript 함수가 오류를 발생시키고 있습니다.GoogleAPI를 사용하여 WPF에서 JavaScript 함수로 다각형 배열을 전달하여 다각형 만들기
테스트 용으로 두 가지 유형의 배열이 있습니다. 값은 코드에 지정됩니다.
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를 하드 코딩하면 제대로 작동합니다. 완벽하게 wokring
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)
];
다각형을 그립니다. 감사합니다