私は問題があります。GDirections.loadFromWayPoints
Google マップでは、25 個のオブジェクトに制限があることを知っていGLatLng
ます。私が望むのは、たとえば 300 ポイントのルートを作成することです。
どうやってやるの?私が考えた解決策は、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);
}