0
真的需要幫助在這裏。我使用json_encode轉換數組,以便能夠在下面的谷歌地圖中遍歷searchresult的lats/longs。地圖加載罰款,如果我只是使用普通的標誌,如果我呼應JSON編碼陣列我得到:循環谷歌地圖標記與JSON編碼陣列
["55.7171, 13.2354","55.6411, 13.2122"]
下面(的PHP代碼忽略大部分除了標記的一部分,只是給你的想法它如何使用)。
<?php
if (isset($search_result)) {
$markers = array();
// Looping through the results and displaying appropriate data.
foreach ($search_result as $result) {
?>
<li><?= $result['first_name']; ?></li>
<li><?= $result['last_name']; ?></li>
<li><?= $result['address']; ?></li>
<li><img width="80" height="80" src="<?php echo file_exists($result['profile_picture'])? $result['profile_picture'] : $img_profile_def; ?>"></li>
<li><a href="profile.php?userid=<?= $result['id']; ?>">View This User</a></li><br><br>
<?php
$markers[] = $result['latitude'] . ', ' . $result['longitude'];
}
}
?>
的JavaScript的腳本初始化地圖等我得到這個代碼,但沒有標記的地圖的底部。
<script type="text/javascript">
function initialize() {
var markers = <?php echo json_encode($markers); ?>;
var myLatLng = new google.maps.LatLng(<?php echo $area_coords; ?>);
var mapOptions = {
center:myLatLng,
zoom:15,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
mapOptions);
for (i = 0; i < markers.length; i++) {
var position = new google.maps.LatLng(markers[i]);
var marker = new google.maps.Marker({
map:map,
position:position
});
}
}
initialize();
不容嘗試它,直到大約15個小時,但會看它是否工作那麼。希望這只是字符串問題,至少意味着代碼的其餘部分沒問題。 – HolyMackerel 2013-02-25 20:03:58
其餘的看起來很標準。我還建議您在創建標記時將其添加到數組中,它可以幫助您清除地圖以及管理標記上的點擊事件......請參閱https://developers.google.com/圖/文檔/ JavaScript的/覆蓋#RemovingOverlays – 2013-02-25 20:33:14