2014-01-17 94 views
2

我是新手編程,我想開發一個顯示食物,商場等物品列表的應用程序,當用戶點擊任何物品時,它應該自動獲取用戶的位置並顯示相應搜索的列表和搜索查詢是列表項的名稱。使用地理定位獲取附近位置信息

我試圖使用navigator.geolocation.watchPosition()獲取用戶的座標。

以下是我已經與

Javascript代碼

var x=document.getElementById("demo"); 

function getLocation() 
{ 
    if (navigator.geolocation) 
    { 
     navigator.geolocation.watchPosition(showPosition); 
    } 
    else{ 
     x.innerHTML="Geolocation is not supported by this browser."; 
    } 
} 

function showPosition(position) 
{ 
    initialize(position.coords.latitude,position.coords.longitude); 
} 

/*getting locations nearby using google places api*/ 

function initialize(lat,lng) { 
    var map = new google.maps.Map(document.getElementById('map-canvas'), { 
     center: new google.maps.LatLng(lat,lng), 
     zoom: 15 
    }); 

    var request = { 
     reference: 'CnRkAAAAGnBVNFDeQoOQHzgdOpOqJNV7K9-c5IQrWFUYD9TNhUmz5-aHhfqyKH0zmAcUlkqVCrpaKcV8ZjGQKzB6GXxtzUYcP-muHafGsmW-1CwjTPBCmK43AZpAwW0FRtQDQADj3H2bzwwHVIXlQAiccm7r4xIQmjt_Oqm2FejWpBxLWs3L_RoUbharABi5FMnKnzmRL2TGju6UA4k' 
    }; 

    var infowindow = new google.maps.InfoWindow(); 
    var service = new google.maps.places.PlacesService(map); 

    service.getDetails(request, function(place, status) { 
     if (status == google.maps.places.PlacesServiceStatus.OK) { 
      var marker = new google.maps.Marker({ 
       map: map, 
       position: place.geometry.location 
      }); 
      google.maps.event.addListener(marker, 'click', function() { 
       infowindow.setContent(place.name); 
       infowindow.open(map, this); 
      }); 
     } 
    }); 
} 

google.maps.event.addDomListener(window, 'load', initialize); 

function wlCommonInit(){ 
    require([ "layers/core-web-layer", "layers/mobile-ui-layer" ], dojoInit); 

    getLocation(); 
    initialize(); 
} 

做我知道這可能是一個重複的問題,但我沒有發現任何在搜索匹配我的問題。如果有任何對我有用的帖子,請回復。

+0

究竟是什麼問題?您是否在瀏覽器控制檯(Firebug)中看到任何異常? –

+0

沒有錯誤,但它不顯示附近的地方 – ravi

+0

你是否在啓用位置服務的實際電話上測試了這個功能?或者,您是否在符合HTML5的瀏覽器中執行此操作,同時啓用位置服務?由於您使用的是worklight,爲何不使用:http://pic.dhe.ibm.com/infocenter/wrklight/v6r1m0/topic/com.ibm.worklight.apiref.doc/html/refjavascript-client/html/WL .Device.Geo.html – Zarathuztra

回答

0

我發現它.its與我的密鑰的問題,當我試圖在瀏覽器中獲取詳細信息它說「訪問被拒絕」。所以,我改變了谷歌的API密鑰,並嘗試了它。現在我在瀏覽器中得到了結果。