[英]Google map is not load
在ajax成功时,没有加载谷歌地图。 数据库表每 20 秒更新一次,ajax 方法每 30 秒读取一次。 ajax 方法工作正常。 它在控制台上显示响应。地图 div 已加载,但地图未加载。 请帮忙。
Ajax 调用页面。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"> </script>
<script src="http://maps.googleapis.com/maps/api/js?key=API_KEY&libraries=geometry"></script>
<div id="map" style="height:500px;width:100%;" ></div>
<script>
var response;
var ajax_call = function() {
$.ajax({
url: 'ajaxRequest.php',
data: "",
dataType: 'json',
success: function(data)
{
response = data;
console.log(response);
initialize();
}
});
};
var interval = 5000;
setInterval(ajax_call, interval);
var myCenter=new google.maps.LatLng(41.669578,-0.907495);
var marker;
var map;
var mapProp;
function initialize()
{
mapProp = {
center:myCenter,
zoom:15,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
setInterval('mark()',5000);
}
function mark()
{
map=new google.maps.Map(document.getElementById("map"),mapProp);
marker=new google.maps.Marker({
position:new google.maps.LatLng(response)
});
marker.setMap(map);
map.setCenter(new google.maps.LatLng(response));
marker.setAnimation(google.maps.Animation.BOUNCE);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
这是 ajaxRequest.php 页面
<?php
include "db_connect.php";
$sql="SELECT * FROM temperature_details ORDER BY id DESC LIMIT 1 ";
$result=mysql_query($sql);
$firstrow = mysql_fetch_assoc($result);
$outPut = $firstrow['latitude'].','. $firstrow['longitude'];
echo json_encode($outPut);
?>
您正在 json 编码字符串,而不是对象或数组。 LatLng 不知道如何处理您的字符串。
尝试:
<?php
include "db_connect.php";
$sql="SELECT * FROM temperature_details ORDER BY id DESC LIMIT 1 ";
$result=mysql_query($sql);
$firstrow = mysql_fetch_assoc($result);
$outPut = array($firstrow['latitude'], $firstrow['longitude']);
echo json_encode($outPut);
?>
为您的 php,
和
google.maps.LatLng(response[0], response[1])
代替 :
google.maps.LatLng(response)
在你的 javascript 中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.