【发布时间】:2012-05-23 13:15:57
【问题描述】:
我正在尝试从地理位置获取坐标以在我的雅虎地图中使用。我已在 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,则它会正确显示地图上的默认位置。这在函数 (nolocation) 中的工作方式相同。我的问题是当我获得当前位置时。我已将警报消息放在 navigator.geolocation.getCurrentPosition(foundlocation,nolocation);并且在函数内部(foundlocation)它从不显示消息。任何帮助表示赞赏..
【问题讨论】:
标签: javascript html geolocation yahoo-api yahoo-maps