0
私はこの
PHP-のMySQLからのGoogleマップ上の複数の位置を表示
[{"name":"ahmedabad,GUJ","lat":"72.5226896","lng":"72.5226896"}]
が、地図上に表示されないマーカー(位置が上に表示されないようにJSONに、LAT DBおよびエンコード結果からLNG値をフェッチしようとしなければならない
マップ)
これが正常とJSONでエンコードDBから取り出された私に
<?php
include "db.php";
/* lat/lng data will be added to this array */
$locations=array();
$query = $db->query("SELECT * FROM ds_petroling_history");
while($row = $query->fetch_assoc()){
$nama_kabkot = $row['name'];
$longitude = $row['lng'];
$latitude = $row['lat'];
/* Each row is added as a new array */
$locations[]=array('name'=>$nama_kabkot, 'lat'=>$longitude, 'lng'=>$longitude);
}
/* Convert data to json */
$markers = json_encode($locations);
?>
<html>
<head>
</head>
<body>
<div><?php echo $markers ?></div>
<script type='text/javascript'>
<?php
echo "var markers=$markers;\n";
?>
function initMap() {
var latlng = new google.maps.LatLng(23.0117523,72.5226665);
var myOptions = {
zoom: 10,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: false
};
var map = new google.maps.Map(document.getElementById("peta"),myOptions);
var infowindow = new google.maps.InfoWindow(), marker, lat, lng;
var json=JSON.parse(markers);
for(var o in json){
lat = json[ o ].lat;
lng=json[ o ].lng;
name=json[ o ].name;
marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,lng),
name:name,
map: map
});
google.maps.event.addListener(marker, 'click', function(e){
infowindow.setContent(this.name);
infowindow.open(map, this);
}.bind(marker));
}
}
</script>
<div id="peta" style="width: 100%; height: 660px;">
</div>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=yourkey&callback=initMap"
type="text/javascript"></script>
</body>
</html>
を案内してください値もなく、これらの座標のLOCを見つける私のミス何をしている、私のコードですマップ
私はこれにしようとしたが – pranay
てみてください '働いていないよ、LAT = parseFloatはJSON([O] .lat); 'lng = parseFloat(json [o] .lng);' – duncan
asnwerが更新されましたが、json_encodeの番号かlatとlngの文字列がparseFloatを使ってキャストする必要があります。 – scaisEdge