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();
}
做我知道这可能是一个重复的问题,但我没有发现任何在搜索匹配我的问题。如果有任何对我有用的帖子,请回复。
究竟是什么问题?您是否在浏览器控制台(Firebug)中看到任何异常? –
没有错误,但它不显示附近的地方 – ravi
你是否在启用位置服务的实际电话上测试了这个功能?或者,您是否在符合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