这只是一个想法,它可能不可行,谷歌搜索并无法提出任何建议,我认为我没有正确搜索它,我真的不知道如何表达这个问题,所以我'会解释它:
所以我从 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
并使用它呢?
我希望我解释正确,对不起,如果这是一种愚蠢的做法,我也愿意接受不同的做法。