drupal サイト用にこのアプリケーションを開発しています。APIサイトの例を使用して、javascriptが修正されたハードワイヤードhtmlでマップが正常に機能するようにしました。しかし、私は本当に ajax を使用する必要があり、同じデータを持つ ajax 関数は灰色のボックスのみを表示しています。
alert() を使用して、マップの中心とズームと同様に、データが ajax 呼び出しを介して関数に適切に取り込まれていることを確認しました。重要な違いの 1 つは、ハードワイヤード html が Google の例に従ってタグで onload="fcn()" を使用していたことですが、.代わりに、関数が定義されていない js ファイルを使用します. 関数を使用しようとしたとき、トリガーされませんでした. このコードでは関数を使用する必要がありますか? 確かに、私は JavaScript の経験があまりありません. これが私の js です. の最初の行データにはいくつかのパラメーターがあり、2 番目は緯度、3 番目は経度、最後はマーカーのタイトルです。
PS - }); の最後のセットを取得できない理由がわかりません。コードボックスに表示します。
jQuery(document).ready(function() {
jQuery.get('http://www.example/get_customer_geo', function(result) {
var rows = result.split(';');
var parms = rows[0].split(',');
var midlat = parseFloat(parms[0]);
var midlon = parseFloat(parms[1]);
var LatlngCtr = new google.maps.LatLng(midlat,midlon);
var zoomval = parms[2];
var latitude = rows[1].split(',');
var longitude = rows[2].split(',');
var titles = rows[3].split(',');
var myLatlng = new Array();
var marker = new Array();
for (i=0; i<latitude.length; i++)
{
myLatlng[i] = new google.maps.LatLng(parseFloat(latitude[i]),parseFloat(longitude[i]));
}
var myOptions = {
zoom: zoomval,
center: LatlngCtr,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_terr"), myOptions);
for (i=0; i<latitude.length; i++)
{
marker[i] = new google.maps.Marker({
position: myLatlng[i],
map: map,
title: titles[i]
});
}
});
});