0
我得到從一個教程這個代碼,它是全功能:更改for循環以適應json數組?
var sites = [
['Mount Evans', 39.58108, -105.63535, 4, 'This is Mount Evans.'],
['Irving Homestead', 40.315939, -105.440630, 2, 'This is the Irving Homestead.'],
['Badlands National Park', 43.785890, -101.90175, 1, 'This is Badlands National Park'],
['Flatirons in the Spring', 39.99948, -105.28370, 3, 'These are the Flatirons in the spring.']
];
function setMarkers(map, markers) {
for (var i = 0; i < markers.length; i++) {
var sites = markers[i];
var siteLatLng = new google.maps.LatLng(sites[1], sites[2]);
var marker = new google.maps.Marker({
position: siteLatLng,
map: map,
title: sites[0],
html: sites[4]
});
var contentString = "Some content";
google.maps.event.addListener(marker, "click", function() {
infowindow.setContent(this.html);
infowindow.open(map, this);
});
}
}
它顯示與從陣列中的信息的地圖上的標記。
我想更改for循環,以便它適合我的數組。因爲當我嘗試這與我的陣列,地圖甚至不露面..
<?php
include_once'config/connect.php';
$search= $_POST['search'];
$search = stripslashes($search);
$search = mysql_real_escape_string($search);
$sql= "select * from venue where vID in (select vID from sv where sID in (select sID from sports where sN = '$search'));";
$result=mysql_query($sql)or die(mysql_error());
$data1 = mysql_fetch_array($result);
$array = array($data1['latitude'], $data1['longitude'], $data1['venue']);
echo json_encode($array);
?>
var sites = <?php echo json_encode($array); ?>;
此打印正是因爲它應該
sites[0] = 57.7865 //latitude
sites[1] = 11.7986 //longitude
sites[2] = fjaderborgen //venue
但它不與地圖代碼工作。
我需要改變循環莫名其妙,我該怎麼做?
對不起,我不清楚。我陣列的例子只有1個經緯度的地方。我得到的結果取決於我從搜索中得到多少結果。所以我需要一個循環,否則我只會得到1標記嗎? –
沒錯,但沒有看到你如何構建這個列表(你的PHP代碼肯定不會這樣做),我會猶豫不決。 –