2012-04-26 19 views
6

में मानचित्र में वर्तमान स्थान पर मार्कर कैसे प्राप्त कर सकता हूं हे दोस्तों मैं Sencha Touch प्लेटफ़ॉर्म पर नया हूं।मैं सेन्चा-टच 2.0

और मैं उपयोगकर्ता current location के साथ ढूंढना चाहता हूं कृपया मेरी मदद करें। मैं इस स्थिति में फंस गया।

कोई नया अच्छा ट्यूटोरियल मुझे तो अपने समय के लिए अग्रिम में .. मेरे साथ साझा करें के लिए

धन्यवाद है।

Ravi Patel

उत्तर

4

अच्छा सवाल है। मुझे पहले एक समान समस्या का सामना करना पड़ा। लेकिन, बाद में, मैंने समाधान निकाला।

यहां बताया गया है कि आप इसे कैसे हल कर सकते हैं।

डेमो जियोलोकेशन एपीआई के माध्यम से भू-स्थिति प्राप्त करें।

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'); 
} 
  • तो यह करने के लिए नक्शे के केंद्र स्थापित करने के लिए और साथ ही है कि मूल्य के लिए मार्कर की स्थिति सेट अक्षांश और एलएनजी के मूल्यों का उपयोग करें।

    ... 
    ... 
    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 
    }); 
    ... 
    ... 
    
  • +0

    धन्यवाद आपके समय के लिए, मैंने कोड ऊपर की कोशिश की थी लेकिन, यह काम नहीं किया। मैं सेन्चा टच 2.0 में कार्यान्वित करना चाहता हूं ... यदि ऊपर कोड काम किया गया है तो क्या आप मुझे बता सकते हैं कि मैं इसे कैसे लागू कर सकता हूं? –

    +0

    आपको समस्या का सामना करना पड़ रहा है? कोड का कौन सा हिस्सा? –

    +0

    उपर्युक्त कोड जहां मैं उत्साहपूर्वक जोड़ना चाहता हूं..और क्या आप संरचना के अनुसार elobrate कृपया ..... –

    0

    यह अगर आप सिर्फ Ext.Map.getGeo() इस प्रकार के रूप में उपयोग करना बहुत आसान है: जब तक आप अपने मानचित्र instantiated है के रूप में

    var geo = extmap.down("#Map").getGeo(); 
        var currentPosition = new google.maps.LatLng(geo.getLatitude(), geo.getLongitude()); 
    

    , यह वर्तमान स्थान मिलना चाहिए यदि ब्राउज़र क्लाइंट आपको प्राप्त करने की अनुमति देता है।

    एचटीएच!

    0

    मैं भी Sencha स्पर्श 2.3.1
    प्रयोग करने के लिए वर्तमान स्थान मिलता है और स्वचालित रूप से निम्नलिखित कोड का उपयोग कर currentPosition अद्यतन Ext.util.Geolocation वर्ग का उपयोग करना simillar अनुप्रयोग के लिए काम करते हैं।

    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); 
        } 
        } 
    } 
    }); 
    

    ऊपर कोड मेरे लिए काम किया है और मैं पहले से ही currentLocation प्राप्त करने के लिए मेरे एप्लिकेशन में इस्तेमाल किया और currentPosition में मार्कर चले गए हैं।