geolocation yahoo maps api

问题描述 投票:0回答:3

我正在尝试从地理位置获取坐标以用于我的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)内部,它从不显示消息。任何帮助赞赏..

javascript html geolocation yahoo-api yahoo-maps
3个回答
1
投票

您的错误:var坐标=新的YGeoPoint(纬度,经度);

经度,非大写字母“ L”的经度

然后工作正常!


0
投票

效果很好。基本上,有时它可以工作,而另一些则不起作用。我不知道为什么,但是代码工作正常。


0
投票

我使用“ new Y.Map()”代替“ new YMap()”。也许效果相同。

© www.soinside.com 2019 - 2024. All rights reserved.