admin管理员组文章数量:1389903
Hey friends i m new to Sencha Touch platform.
And I want to find user current location
with marker
please help me out. i stuck in this condition.
Is there any new good tutorial for me then please share with me..
Thanks in Advance for your time.
Ravi Patel
Hey friends i m new to Sencha Touch platform.
And I want to find user current location
with marker
please help me out. i stuck in this condition.
Is there any new good tutorial for me then please share with me..
Thanks in Advance for your time.
Ravi Patel
Share Improve this question asked Apr 26, 2012 at 12:08 Ravi PatelRavi Patel 632 silver badges5 bronze badges 03 Answers
Reset to default 4Nice question. I faced a similar problem before. But, later, I figured out the solution.
Here's how you can solve it.
- Either use Phonegap's Geolocation API or ..
- Use Ext.util.Geolocation from Sencha Touch API
Demo with Phonegap's Geolocation API
Get the geolocation via the geolocation api.
vat lat, lng; var geoLocationOptions = { maximumAge: 3000, timeout: 5000, enableHighAccuracy: true }; navigator.geolocation.getCurrentPosition(geoLocationSuccess,geoLocationError,geoLocationOptions); function geoLocationSuccess(position) { lat = position.coords.latitude; lng = position.coords.longitude; Ext.Msg.alert("Geolocation","Latitude:"+ lat +", Longitude:"+ lng); } function geoLocationError() { Ext.Msg.alert('Error','Error while getting geolocation'); }
Then use the values of lat and lng to set the map's center to it as well as set the marker's position to that value.
... ... var position = new google.maps.LatLng(lat,lng); map = this.add({ xtype: 'map', getLocation: true, autoLoad: true, mapOptions: { zoom: 15, center: position, mapTypeId: google.maps.MapTypeId.ROADMAP, navigationControl: true, zoomControl: true, mapTypeControl: true, scrollwheel: true, scaleControl: true, zoomControlOptions: { style: google.maps.ZoomControlStyle.LARGE } } }); marker = new google.maps.Marker({ id: 'geoLocMarker', position: position, map: map.getMap(), visible: true }); ... ...
It's a lot simpler if you just use Ext.Map.getGeo() as follows:
var geo = extmap.down("#Map").getGeo();
var currentPosition = new google.maps.LatLng(geo.getLatitude(), geo.getLongitude());
As long as you have your map instantiated, it should get the current location if the browser client allows for you to obtain that.
HTH!
I have also work for simillar app using sencha touch 2.3.1
Using Ext.util.Geolocation class for get current location and automatically update the currentPosition using the following code.
Ext.create('Ext.util.Geolocation', {
autoUpdate: true,
allowHighAccuracy: true,
frequency: '5000', // set the milliseconds for the location update
listeners: {
locationupdate: function(geo) {
latitude=Global.currentUserLocations.currentLat;
longitude=Global.currentUserLocations.currentLong;
if(Global.currentUserPositionMarker)
{
latlng1=new google.maps.LatLng(latitude, longitude);
Global.currentUserPositionMarker.setPosition(latlng1);
}
}
}
});
The above code worked for me and i have already used in my app for getting currentLocation and moved the marker into currentPosition.
本文标签: javascriptHow Can I Get marker on current location in map in SenchaTouch20Stack Overflow
版权声明:本文标题:javascript - How Can I Get marker on current location in map in Sencha-Touch2.0 - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744607610a2615452.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论