MapBox जीएल जे एस असर

वोट
1

यह उन असर पाने के लिए MapBox जीएल जे एस में संभव है? मैं जिस दिशा में उपयोगकर्ता का सामना करना पड़ रहा है दिखाने के लिए, उन्हें आस-पास POI के लिए नेविगेट करने में सहायता करना चाहते हैं। मैं समझता हूँ कि यह नक्शा असर सेट करते हैं और इसके बारे में वर्तमान असर पाने के लिए संभव है, लेकिन मैं उपयोगकर्ता की वास्तविक वास्तविक जीवन असर की जरूरत है। गूगल मैप्स पर के रूप में एक ही बात का प्रकार: यहाँ

सेवा iOS और Android पर एक ईओण एप्लिकेशन के रूप में चलाने का इरादा है, और असर में सहायता की मदद करने के लिए उन्हें एक अच्छी तरह से आबादी के नक्शे पर आस-पास के POI का पता लगाने में एक महत्वपूर्ण विशेषता है।

18/09/2016 को 10:10
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
1

आप एक प्राप्त करने के द्वारा (यदि अपने डिवाइस इस तरह के एक सेंसर है) उपयोगकर्ता का असर प्राप्त कर सकते हैं Coordinatesसे वस्तु Gelocation#getCurrentPosition()और पढ़ने Coordinates#heading

MapBox जीएल जे एस कोई एक उपयोगकर्ता के शीर्षक प्रदर्शित करने के लिए निर्मित यूजर इंटरफेस है। अपने स्वयं के यूजर इंटरफेस का निर्माण आसान है। देखें इस उदाहरण जो का उपयोग करता है symbol-rotationसंपत्ति

19/09/2016 को 16:31
का स्रोत उपयोगकर्ता

वोट
1

तो, यह पर कुछ समय बिताने के बाद, मैंने सोचा कि मैं दिखाने चाहते हैं मैं कैसे यह कर समाप्त हो गया है, और मामले में किसी को इसकी आवश्यकता है या एक बेहतर समाधान है में।

यह कॉर्डोबा की स्थिति वस्तु में "शीर्षक" संपत्ति में बनाया गया है लगता है। https://github.com/apache/cordova-plugin-geolocation

var heading = $rootScope.position.heading;

सबसे पहले, मैं भी जब उपयोगकर्ता, नक्शे बदल जाता है, mapBearing (डिग्री नक्शा उत्तर से बदल गया है) को घटाकर उपयोगकर्ता शीर्षक से से यह सुनिश्चित करें कि मार्कर हमेशा शीर्षक दिशा दिखा रहा है बनाने के लिए,।

map.on('rotate', function(){
    map.setLayoutProperty('drone', 'icon-rotate', heading - map.getBearing())
});

मैं, एक आइकन बना उपयोगकर्ताओं की स्थिति में, स्रोत जोड़ सकते हैं और स्रोत के साथ परत जोड़ते हैं।

map.on('load', function () {
  var point = {"type": "Point", "coordinates": [$rootScope.position.long, $rootScope.position.lat]};
  map.addSource('drone', {type: 'geojson', data: point });
  map.addLayer({
    "id": "drone",
    "type": "symbol",
    "source": "drone"
  }
});

अगला मैं जाँच करें कि शीर्षक वास्तव में उपलब्ध है, क्योंकि यह केवल एक मूल्य के वापस जाने के लिए, जब उपयोगकर्ता बढ़ रहा है (केवल अब तक एंड्रॉयड पर परीक्षण) दिखाई देता है, और अगर ऐसा है, बिंदु के शीर्षक अद्यतन करें।

if($rootScope.position.heading){
    var heading = $rootScope.position.heading; 
    map.setLayoutProperty('drone', 'icon-rotate', $rootScope.position.heading);
};

अंत में मैं बिंदु की स्थिति, एक "$ घड़ी" की स्थिति में अद्यतन करें।

map.getSource('drone').setData(point);

इस तरह, मैं उन शीर्षक देख सकते हैं, और बिंदु ट्रैक पर रहता है, तब भी जब उपयोगकर्ता नक्शा घूमता है।

27/09/2016 को 08:19
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more