我正在尝试从地理位置获取坐标以用于我的yahoo map。我已经在firefox,chrome和Internet Explorer版本12.0、18.0.1025.168 m和9.0.8112.16421中运行了它。在firefox中,它要求获得共享我的位置的权限(我接受),Internet Explorer不支持地理位置,而chrome支持它但找不到位置。这是我的代码
<div id="map" align="right" height="50%" width="50%"> </div>
<script type="text/javascript" src="http://api.maps.yahoo.com/ajaxymap?v=3.8&appid=xoo5uJLV34FTpTmoqrs.mIQOX_DTcBhPowcz17ClEeb.jCIZ1Z6_Aa9FO8brGg--"></script>
<script type="text/javascript">
alert("ok ws dame");
if(navigator.geolocation) {
alert("Great..Geolocation API is supported.");
var map = new YMap(document.getElementById('map'));
map.addTypeControl();
map.setMapType(YAHOO_MAP_REG);
navigator.geolocation.getCurrentPosition(foundlocation,nolocation);
function foundlocation(position){
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
alert(latitude+","+longitude);
var coords = new YGeoPoint(latitude,Longitude);
map.drawZoomAndCenter(coords,3);
map.addMarker(coords);
}
function nolocation(error){
var map = new YMap(document.getElementById('map'));
map.addTypeControl();
map.setMapType(YAHOO_MAP_REG);
alert("Location not found.");
// Display the map centered on a geocoded location
map.drawZoomAndCenter("Patras", 3);
var Lat = 38.2444444;
var Lon = 21.7344444;
var myPoint = new YGeoPoint(Lat,Lon);
map.addMarker(myPoint);
}
}
else {
var map = new YMap(document.getElementById('map'));
map.addTypeControl();
map.setMapType(YAHOO_MAP_REG);
alert("Geolocation API is not supported in your browser.");
// Display the map centered on a geocoded location
map.drawZoomAndCenter("Patras", 3);
var Lat = 38.2444444;
var Lon = 21.7344444;
var myPoint = new YGeoPoint(Lat,Lon);
map.addMarker(myPoint);
}
</script>
在(navigator.geolocation)返回false的情况下,则它清晰地显示地图上的默认位置。这在function(nolocation)中相同。我的问题是当我得到当前位置时。我已将警报消息放在navigator.geolocation.getCurrentPosition(foundlocation,nolocation);下。并且在function(foundlocation)内部,它从不显示消息。任何帮助赞赏..
您的错误:var坐标=新的YGeoPoint(纬度,经度);
经度,非大写字母“ L”的经度
然后工作正常!
效果很好。基本上,有时它可以工作,而另一些则不起作用。我不知道为什么,但是代码工作正常。
我使用“ new Y.Map()”代替“ new YMap()”。也许效果相同。