在javascript中从数据库下载坐标时,谷歌地图未显示
Google map not showing while downloading coordinates from database in javascript
我有一个小应用程序,我不断从数据库下载地理坐标,并在地图中显示,同时上传地理位置坐标。我已经写了代码,数据上传和下载都很好。但是地图本身根本没有显示出来。这是我的代码:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3&sensor=false&language=en&key=MY-API-KEY" async defer></script>
<script>
if ("geolocation" in navigator)
{
request_location();
}
// Requesting location from user
function request_location()
{
// Will repeat the process in two minutes
setTimeout(request_location, 500 * 1000);
// Get location info from browser and pass it to updating function
navigator.geolocation.getCurrentPosition(update_location);
}
// Sending location to server via POST request
function update_location(position)
{
// For simplicity of example we'll
// send POST AJAX request with jQuery
$.post( "functions.php?action=update_geolocation", { latitude: position.coords.latitude, longitude: position.coords.longitude });
}
function updatemap(lat_coordinates, long_coordinates)
{
var map = new google.maps.Map(document.getElementById('mapholder'),
{
zoom: 4,
center: {lat: lat_coordinates, lng: long_coordinates},
});
var marker = new google.maps.Marker({
position: {lat: lat_coordinates, lng: long_coordinates},
map: map,
title: 'Hello World!'
});
}
setInterval(function update_map(){
jQuery.ajax({
url: "http://dev.radiumenterprises.co.uk/viitgo/provider/rest.php/geolocation",
type: "GET",
contentType: 'application/json; charset=utf-8',
success: function(resultData) {
console.log(resultData);
console.log(resultData.latitude);
console.log(resultData.longitude);
var lat_coordinates = parseFloat(resultData.latitude)
var long_coordinates = parseFloat(resultData.longitude)
updatemap(lat_coordinates, long_coordinates);
},
error : function(jqXHR, textStatus, errorThrown) {
},
});
}, 3000);
</script>
<div style="height:100%; width:100%;">
<div style="margin: 0;padding: 0;height: 100%;" id="mapholder"></div>
</div>
有人看到我哪里出错了吗?我唯一的问题是地图本身没有显示。我已经尝试了很多解决方案,但不知道是什么原因造成的。任何建议都将不胜感激。提前谢谢。
您对/rest.php/geolocation的请求似乎超时了,因此永远不会调用updatemap。
如果请求对你有效,那么检查你的mapholderdiv的尺寸。它的高度似乎为0。
用于渲染贴图的js代码似乎是正确的。
检查平台坐标,提供的lng_coordinates是否正确。
也可以尝试在$(document).ready(function(){})中添加js,或者确保js在html代码之后呈现。
当呈现js时,DOM元素可能不可用。
相关文章:
- 谷歌地图显示灰色方框
- 无法让谷歌地图显示在我的网站上
- 双击谷歌地图显示提示框不起作用
- 谷歌地图显示钦奈(印度)使用javascript
- 当缩放级别为 1 时,谷歌地图显示 kml(内部是图像 URL)不正确
- 谷歌地图显示没有jQuery
- 谷歌地图显示问题
- 谷歌地图显示KML数据
- 谷歌地图显示新请求后的旧方向
- 谷歌地图显示什么,直到我最小化屏幕
- 谷歌地图显示多个地图而不是一个
- 为什么谷歌地图显示灰色,而没有初始化缩放&当使用jQuery按钮更改缩放时,居中,地图上的居中效果非常好
- 谷歌地图显示标题的信息框
- 当mysql提供十进制纬度和经度时,谷歌地图显示错误的地图
- 谷歌地图-显示基于缩放级别的融合表图层
- 如何包括谷歌地图显示的地方,如医院和餐馆在单独的地图在同一页
- 谷歌地图显示未捕获的错误:达到10次$digest()迭代.流产!角的应用
- 谷歌地图显示不同颜色的替代道路
- 不能让谷歌地图显示在wordpress页面上
- 谷歌地图显示最近的数据库标记到我的位置