Php MySQL数据库上的Google地图上的多个标记未显示
我试图在谷歌地图上显示mysql中的多个标记 我的地图显示正确,但标记没有显示 我有一个从mysql检索数据的php脚本 php: html:Php MySQL数据库上的Google地图上的多个标记未显示,php,jquery,mysql,json,google-maps-api-3,Php,Jquery,Mysql,Json,Google Maps Api 3,我试图在谷歌地图上显示mysql中的多个标记 我的地图显示正确,但标记没有显示 我有一个从mysql检索数据的php脚本 php: html: 函数initMap(){ var latlng=new google.maps.latlng(-34.031342,18.577419);//默认位置 变量myOptions={ 缩放:16, 中心:拉特林, mapTypeId:google.maps.mapTypeId.SATELLITE, mapTypeControl:true }; var ma
函数initMap(){
var latlng=new google.maps.latlng(-34.031342,18.577419);//默认位置
变量myOptions={
缩放:16,
中心:拉特林,
mapTypeId:google.maps.mapTypeId.SATELLITE,
mapTypeControl:true
};
var map=new google.maps.map(document.getElementById('mapall'),myOptions);
var infowindow=new google.maps.infowindow(),marker,lat,lng;
var json=json.parse(标记);
for(json中的var i){
lat=(json[i].GPS1);
lng=(json[i].GPS2);
名称=(json[i]。客户端地址);
marker=新的google.maps.marker({
位置:新google.maps.LatLng(lat,lng),
姓名:姓名,,
地图:地图
});
google.maps.event.addListener(标记,'click',函数(e){
infowindow.setContent(this.name);
打开(地图,这个);
}.绑定(标记);
}
}
西卡洛现役部队
我的主要依据是:
您不需要执行JSON.parse,只需通过JSON标记循环即可
for( i = 0; i < markers.length; i++ ) {
lat = (markers[i].GPS1);
lng = (markers[i].GPS2);
name = (markers[i].client_address);
for(i=0;i
那太疯狂了。
相反,应该这样做,因为您已经在解析JSON字符串,这应该可以工作,并且看起来更干净
<script>
var markers='<?=$markers;?>';
function initMap() { ...
var标记=“”;
函数initMap(){。。。
<script>
<?php
echo "var markers=$markers;\n";
?>
function initMap() {
var latlng = new google.maps.LatLng(-34.031342, 18.577419); // default location
var myOptions = {
zoom: 16,
center: latlng,
mapTypeId: google.maps.MapTypeId.SATELLITE,
mapTypeControl: true
};
var map = new google.maps.Map(document.getElementById('mapall'),myOptions);
var infowindow = new google.maps.InfoWindow(), marker, lat, lng;
var json=JSON.parse( markers );
for( var i in json ){
lat = (json[i].GPS1);
lng = (json[i].GPS2);
name = (json[i].client_address);
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>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyANS0uqM7qedfDCzPjJ3xoB15vh2DC4Tls&callback=initMap">
</script>
<div class="row">
<div class="col-md-4">
<div class="panel panel-primary">
<div class="panel-heading"><b>Siqalo Active Units</b></div>
<div class="panel-body">
<div id="mapall" style="width:350px;height:350px;"></div>
</div>
</div>
</div>
</div>
for( i = 0; i < markers.length; i++ ) {
lat = (markers[i].GPS1);
lng = (markers[i].GPS2);
name = (markers[i].client_address);
<?php
echo "var markers=$markers;\n";
?>
<script>
var markers='<?=$markers;?>';
function initMap() { ...