晚安,即時嘗試在JSON地圖上顯示標記,但我不能和我不知道爲什麼,我可以看到地圖,並可以移動它,但即使沒有一個標記正顯示出,mysql標記不在地圖上顯示
<?php
require("config.php");
/* lat/lng data will be added to this array */
$locations=array();
$query = $db->query('SELECT * FROM inmuebles');
while($row = $query->fetch()){
$longitude = $row['long'];
$latitude = $row['lat'];
/* Each row is added as a new array */
$locations[]=array('lat'=>$latitude, 'long'=>$longitude);
}
/* Convert data to json */
$markers = json_encode($locations);
echo $markers;
?>
<script type='text/javascript'>
<?php
echo "var markers=$markers;\n";
?>
var map;
var markersArray = [];
function initMap() {
var latlng = new google.maps.LatLng(-16.5338955,-68.0656364);
var myOptions = {
zoom: 13,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
};
var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
var infowindow = new google.maps.InfoWindow(), marker, lat, long;
var json=JSON.parse(markers);
for(var o in json){
lat = json[ o ].lat;
long=json[ o ].long;
marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,long),
map: map
});
google.maps.event.addListener(marker, 'click', function(e){
infowindow.setContent(this.name);
infowindow.open(map, this);
}.bind(marker));
}
}
</script>
的$標記輸出
[{"lat":"-16.52629052070058","long":"-68.0797004699707"},{"lat":"-16.500122130208325","long":"-68.12089920043945"},{"lat":"-16.54307592346882","long":"-68.06425094604492"}]
在此先感謝我一直在試圖真的很難看到那裏的錯誤是
編輯
<?php
$con = mysqli_connect('localhost','waru','olairhead154','inmueble');
?>
<?php
require("config.php");
/* lat/lng data will be added to this array */
$locations=array();
$query = $db->query('SELECT * FROM inmuebles');
while($row = $query->fetch()){
$longitude = $row['long'];
$latitude = $row['lat'];
/* Each row is added as a new array */
$locations[]=array('lat'=>$latitude, 'long'=>$longitude);
}
/* Convert data to json */
$markers = json_encode($locations);
echo $markers;
?>
<script type='text/javascript'>
<?php
echo "var markers=$markers;\n";
?>
var map;
var markersArray = [];
function initMap() {
var latlng = new google.maps.LatLng(-16.5338955,-68.0656364);
var myOptions = {
zoom: 13,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
};
var markers = '<?= json_encode($markers) ?>';
var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
var infowindow = new google.maps.InfoWindow(), marker, lat, long;
var json=markers;
for(var o in json){
lat = json[ o ].lat;
long=json[ o ].long;
marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,long),
map: map
});
google.maps.event.addListener(marker, 'click', function(e){
infowindow.setContent(this.name);
infowindow.open(map, this);
}.bind(marker));
}
}
google.maps.event.addDomListener(window, "load", initMap);
</script>
這是我所做的更改,但仍然沒有顯示即時通訊真正的新這個標記請
感謝
了 「$輸出標誌,」 不是一個JSON字符串,它是一個JavaScript數組,'JSON.parse'不會進行這項工作。直接傳遞給你的循環。 ([概念證明小提琴](http://jsfiddle.net/geocodezip/khe9eqj4/1/)) – geocodezip
@geocodezip嘗試了你告訴我的,但我仍然看不到標記,你能幫我多一點嗎? var markers ='<?= json_encode($ markers)?>'; var map = new google.maps.Map(document.getElementById(「map_canvas」),myOptions); var infowindow = new google.maps.InfoWindow(),marker,lat,long; var json = markers; (json中的var o){ lat = json [o] .lat; long = json [o] .long; marker = new google.maps。標記({position:new google.maps.LatLng(lat,long), map:map }); –
1.請不要在評論中發佈(大量)代碼,這是不可讀的(編輯你的問題以解決評論)。 2.如果我讀過你發佈的內容,那不是我「告訴你」的內容,請看小提琴。 – geocodezip