我无能,为什么这不会对我的移动浏览器上运行,但它会在我的PC浏览器上运行,铬是准确的。
可以在任何你提供反馈。
链接到我在测试这个服务器:
54.172.35.180/chat/chatlist.php
<script type="text/javascript">
function success(position) {
var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
var myOptions = {
zoom: 15,
center: latlng,
};
var map = new google.maps.Map(document.getElementById("map-canvas"), myOptions);
var marker = new google.maps.Marker({
position: latlng,
map: map,
title:"You are here! (at least within a "+position.coords.accuracy+" meter radius)"
});
}
google.maps.event.addDomListener(window, 'load', navigator.geolocation.getCurrentPosition(success));
</script>
我原本只是复制和粘贴来自API的网站上的代码,它工作得很好,但只要我开始拉GPS数据就停止对我的移动设备浏览器的工作。 任何帮助,将不胜感激。
navigator.geolocation.getCurrentPosition不返回的位置。 所以,你不能使用的结果但addDomListener(窗口的参数,...
它所做的,是发送一个请求。 当该请求已准备就绪,一个回调triggerd。 在这种回调,你可以触发你的函数成功()(我把它命名为初始化)。
只是为了显示这是怎么回事。 您仍然可以选择,如果这是进行一个很好的方式。 随意命名,扩展,...
<script src="http://maps.googleapis.com/maps/api/js"></script>
<script type="text/javascript">
function initialize(position, accuracy) {
var latlng = position || new google.maps.LatLng(50.45, 4.45); // set your own default location. This gets called if the parameters are left blank.
var myOptions = {
zoom: 15,
center: latlng
};
var map = new google.maps.Map(document.getElementById("map-canvas"), myOptions);
if (position) {
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: "You are here! (at least within a " + accuracy + " meter radius)"
});
}
else {
// position of the user not found
}
}
function locationFound(position) {
initialize(
new google.maps.LatLng(position.coords.latitude, position.coords.longitude),
position.coords.accuracy
);
}
function locationNotFound() {
initialize(null, null);
}
function page_loaded() {
// the page is loaded, we can send a request to search for the location of the user
navigator.geolocation.getCurrentPosition(locationFound, locationNotFound);
}
google.maps.event.addDomListener(window, 'load', page_loaded);
</script>
<style>
#map-canvas {
width: 500px;
height: 400px;
}
</style>
<div id="map-canvas"></div>
也许这是一个更好的主意先加载地图,并设置一个默认位置。 当位置被发现,你改变了中心,并设置标志。 现在请注意:如果没有找到位置,它需要locationNotFound调用之前相当长的一段时间