本当にいくつかの助けを借りて行うことができます、私はユーザーが特定の関心のある設定点の近くにいるときに煎茶の助けを借りてAndroid携帯にアラートをプッシュしようとしています。
私の見解では、私は地図を持っています
{
xtype: 'map',
id: 'mapOne',
cls: 'center',
flex: 1,
width: '100%',
mapOptions : {
mapTypeControl : false,
navigationControl : true,
streetViewControl : false,
backgroundColor: 'transparent',
disableDoubleClickZoom: true,
zoom: 10,
draggable: true,
keyboardShortcuts: true,
scrollwheel: false,
enableHighAccuracy: true
},
listeners : {
maprender : function(comp, map){
var currentMarker = new google.maps.Marker({
position: new google.maps.LatLng(setlat,setlon),
//title : 'Sencha HQ',
map: map,
icon: image
});
setTimeout( function(){map.panTo (new google.maps.LatLng(markerlat, markerlong));} , 1);
}
}
私のコントローラーでは、マップをレンダリングする前に次のように設定しました
var poi = new google.maps.LatLng(markerlat, markerlong);
次に、私のコントローラーで、ジオロケーションオブジェクトを次のように初期化します
var geo = Ext.create('Ext.util.Geolocation', {
autoUpdate: true,
frequency :3000,//every 3 seconds
listeners: {
locationupdate: function(geo) {
var curlat = geo.position.coords.latitude;
var curlong = geo.position.coords.longitude;
console.log('New GEO CURRENT: ' + curlat + ' ' + curlong);
var me = new google.maps.LatLng(curlat, curlong);
if (me == poi){
alert("poi found");
}
},
locationerror: function(geo, bTimeout, bPermissionDenied, bLocationUnavailable, message) {
if(bTimeout){
alert('Timeout occurred.');
} else {
alert('Error occurred.');
}
}
}
});
また、poiの近くで検出されるかどうかを確認するためにジオマーカーを設定しました。
GeoMarker = new GeolocationMarker(mapOne);
マーカーの真上にGeoMarkerが表示され、アラートは表示されません。私はいくつかの異なる同様のことを試みましたが、次のような成功はありませんでした。
if (GeoMarker == poi){
alert("poi found");
}
私の位置はpoiとまったく同じではないので、どちらの場合も私のプロセスが間違っていることはわかっていますが、現在の位置の適切な近接度をアラートに設定する方法がわかりません。ポイでのアラートに関して同様のことをうまく実装する方法を示すドキュメントを見つけるのは難しいと感じています。ヘルプまたは役立つ可能性のあるドキュメントへのリンクをいただければ幸いです。
前もって感謝します