これは単なる考えです。実行できない可能性があります。ググっても何も思いつきません。正しく検索しているとは思えません。問題の言い方がよくわからないので、説明します:
そこで、PHP で次のようなテーブルから位置データを取得します。
$result = $Connect->query($sql);
$i = rand(00000000, 99999999);
while($locationData = $result->fetch_assoc()){
$locationName = $locationData['locationName'];
$locationStreetAndHouse = $locationData['locationStreetNameAndNumber'];
$locationState = $locationData['locationState'];
$locationLat = $locationData['locationLatitude'];
$locationLon = $locationData['locationLongitude'];
$returnThis .= 'var latLonV'.$i.' = new google.maps.LatLng('.$locationLat.','.$locationLon.')
var marker'.$i.' = new google.maps.Marker({
position: latLonV'.$i.',
map: map,
title: "'.$locationName.'"
});';
$i++;
}
$Connect->close();
次に、次のように JS に送り返します。
$JSONData = array("true", $returnThis);
echo json_encode($JSONData);
次にJSでこれを行います:
success:function (recievedData) {
if (recievedData[0] == 'true') {
initializeMap(recievedData[1]);
}
}
function initializeMap(markerVar) {
var myLatlng = new google.maps.LatLng(40.915117, -74.072465);
var mapOptions = {
zoom: 16,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: 'THIS IS ME!'
});
markerVar;
}
});
もちろん、マップは問題なく表示され、最初の場所が表示されますが、 に保存されている JS データを取得してmarkerVar
使用するにはどうすればよいですか?
私はそれを正しく説明していることを願っています.それが愚かな方法である場合は申し訳ありません.私はそれを行う別の方法も受け入れています.