4
我遇到了問題。我知道在谷歌地圖中,GDirections.loadFromWayPoints
限制爲25個GLatLng
對象。我想要的是制定一個300點的路線。使用Google Maps API v2從超過25點的loadFrompoints點數
我該怎麼做?我想到的解決方案是使用25個位置的數組,然後調用loadFromWaypoints,創建25個位置的另一個數組,然後調用loadFromWayPoints等,但是當我這樣做時,我只能看到地圖中的第一個數組。
有什麼建議嗎?
這裏是我的ajax功能,它試圖做我所描述的:
function ajaxFunction(url){
var ajaxRequest; // The variable that makes Ajax possible!
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
var dirMap = new GMap2(document.getElementById("map"));
if(ajaxRequest.readyState == 4){
var cnt = 0;
var cen = 0;
var rta = ajaxRequest.responseText.split("^");
for (var i = 0; i<(rta.length) -1; i++)
{
var reg = rta[i].split("$");
var lat = reg[0];
var lng = reg[1];
if (cnt == 24) {
var marker = new GMarker(arrayWP[1]);
dirMap.addOverlay(marker);
if (cen == 0) {
dirMap.setCenter(arrayWP[0], 12);
cen = 1;
}
dirMap.setUIToDefault();
directions = new GDirections(dirMap);
directions.loadFromWaypoints(arrayWP);
arrayWP[0] = new GLatLng(lat,lng);
cnt = 1;
}
else
{
arrayWP[cnt] = new GLatLng(lat,lng);
cnt++;
}
}
/* if (cen == 0) {
var marker = new GMarker(arrayWP[1]);
dirMap.addOverlay(marker);
if (cen == 0) {
dirMap.setCenter(arrayWP[0], 12);
cen = 1;
}
dirMap.setUIToDefault();
directions = new GDirections(dirMap);
directions.loadFromWaypoints(arrayWP);
}*/
}
}
ajaxRequest.open("GET", url, true);
ajaxRequest.send(null);
}
我已經給你的答案增加了一些細節。雖然你給出的鏈接確實回答了這個問題,但我們鼓勵周圍的細節,以便如果鏈接永遠死掉,答案並不完全沒有用。只是要記住幫助你。歡迎來到SO,順便:) – 2012-01-30 12:02:21