[英]How to get Current location using MapModule?
我正在嘗試獲取當前位置,但是我不知道正確的代碼,有人可以幫助我嗎? 這是我的代碼如下:
var MapModule = require('ti.map');
var vc = MapModule.createAnnotation({
title: 'You are Here',
//subtitle: 'Sao Paulo, SP',
pincolor: MapModule.ANNOTATION_GREEN,
image:"/ui/images/you.png",
});
var walmart = MapModule.createAnnotation({
latitude: -23.474891,
longitude: -46.526756,
title: 'Wallmart',
subtitle: 'Guarulhos, SP',
pincolor: MapModule.ANNOTATION_RED,
image:"/ui/images/buscador_walmart.png",
});
var mapview = MapModule.createView({
top:0,
height: "80%",
mapType: MapModule.NORMAL_TYPE,
region: {latitude: win.latitude, longitude: win.longitude,
latitudeDelta: 0.001, longitudeDelta: 0.001},
annotations: [vc,walmart],
animate:true,
});
mapview.visible = false;
win.add(mapview);
我還將tiapp.xml中的NSLocationWhenInUseUsageDescription和NSLocationAlwaysUsageDescription 放置在請求訪問位置的位置。
有人知道正確的代碼來獲取我的當前位置嗎?
您可以執行以下操作:
var onGetPositionError = function() {
log('onGetPositionError');
var lat = 52.3702157;
var lon = 4.8951679;
currentMapLat_ = lat;
currentMapLon_ = lon;
log('lat = ' + lat + ' lon = ' + lon);
$.mapView.setRegion({
latitude: lat, longitude: lon,
latitudeDelta: 0.005, longitudeDelta: 0.005
});
};
var onGotPosition = function(e) {
log('onGotPosition');
var lon = e.coords.longitude;
var lat = e.coords.latitude;
currentMapLat_ = lat;
currentMapLon_ = lon;
log('lat = ' + lat + ' lon = ' + lon);
$.mapView.setRegion({
latitude: lat, longitude: lon,
latitudeDelta: 0.005, longitudeDelta: 0.005
});
};
var getPosition = function() {
Ti.Geolocation.getCurrentPosition(function(e) {
if (e.error) {
log(JSON.stringify(e));
log('Cannot get current position');
onGetPositionError();
return;
} else {
onGotPosition(e);
return;
}
});
};
$.locate.addEventListener('click', getPosition);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.