yahooマップで使用するためにジオロケーションから座標を取得しようとしています。Firefox、Chrome、Internet Explorerバージョン12.0、18.0.1025.168 m、9.0.8112.16421で実行しました。Firefoxでは、私の場所を共有する許可を求めます(私は受け入れます)。InternetExplorerはジオロケーションをサポートしていません。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);の下にアラートメッセージを配置しました。関数(foundlocation)内では、メッセージは表示されません。助けていただければ幸いです。