खोजते समय एक मार्कर की स्थापना के बिना पत्रक जियोकोडर का प्रयोग करें

वोट
0

वर्तमान में मैं पत्रक मानचित्र का उपयोग कर रहा है और इस जियोकोडर प्लगइन कहा: https://github.com/perliedman/leaflet-control-geocoder । मेरे समस्या यह है कि हर मैं किसी स्थान की खोज, यह भी इस स्थान पर एक मार्कर सेट है, है, लेकिन मैं नहीं है यह करना चाहते हैं। यह केवल में ज़ूम चाहिए और एक मार्कर सेट नहीं।

किसी को भी इस समारोह को अक्षम या तुरंत सेट मार्कर को हटाने के लिए कैसे पता है?

सेट मार्कर इस तरह दिखता है

मैं आयोनिक / टाइपप्रति में काम कर रहा हूँ और जियोकोडर प्रयोग करने के लिए मेरे कोड यह है:

leaflet.Control.geocoder().addTo(this.map);   

GitHub, defaultMarkGeocode के अनुसार: झूठी मार्कर अक्षम करना चाहिए। जब इसे का उपयोग, मैं सिर्फ यह त्रुटि प्राप्त:

गुण अपरिभाषित की '_leaflet_id' पढ़ा नहीं जा सकता

मैं भी करने की कोशिश की

var geocoder = L.Control.geocoder({
    defaultMarkGeocode: false
})
.on('markgeocode', function(e) {
    var bbox = e.geocode.bbox;
    var poly = L.polygon([
         bbox.getSouthEast(),
         bbox.getNorthEast(),
         bbox.getNorthWest(),
         bbox.getSouthWest()
    ]).addTo(map);
    map.fitBounds(poly.getBounds());
})
.addTo(map);

लेकिन यह सिर्फ मुझसे कहता है कि चर जियोकोडर इस्तेमाल कभी नहीं किया गया था और मैं इस त्रुटि मिलती है:

पढ़ा नहीं जा सकता गुण अपरिभाषित की 'addLayer'

आप किसी भी सुझाव है कि यह कैसे तय करने के लिए और या तो अक्षम या इस मार्कर हटाते हैं, तो मैं बहुत शुक्र होगा।

अस्सलाम वालेकुम

22/07/2018 को 17:40
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
0

पुन: पेश नहीं किया जा सका सटीक त्रुटि संदेश का वर्णन:

var map = L.map('map').setView([0, 0], 2);

var geocoder = L.Control.geocoder({
    defaultMarkGeocode: false,
    collapsed: false
  })
  .on('markgeocode', function(e) {
    var bbox = e.geocode.bbox;
    var poly = L.polygon([
      bbox.getSouthEast(),
      bbox.getNorthEast(),
      bbox.getNorthWest(),
      bbox.getSouthWest()
    ]).addTo(map);
    map.fitBounds(poly.getBounds());
  })
  .addTo(map);

L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
  attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
html,
body,
#map {
  height: 100%;
  margin: 0;
}
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.1/dist/leaflet.css" integrity="sha512-Rksm5RenBEKSKFjgI3a41vrjkw4EVPlJ3+OiI65vTjIdo9brlAacEuKOiQ5OFh7cOI1bkDwLqdLw3Zg0cRJAAQ==" crossorigin="" />
<script src="https://unpkg.com/leaflet@1.3.1/dist/leaflet-src.js" integrity="sha512-IkGU/uDhB9u9F8k+2OsA6XXoowIhOuQL1NTgNZHY1nkURnqEGlDZq3GsfmdJdKFe1k1zOc6YU2K7qY+hF9AodA==" crossorigin=""></script>

<link rel="stylesheet" href="https://unpkg.com/leaflet-control-geocoder@1.5.8/dist/Control.Geocoder.css" />
<script src="https://unpkg.com/leaflet-control-geocoder@1.5.8/dist/Control.Geocoder.js"></script>

<div id="map"></div>

लेकिन जब collapsedविकल्प के लिए सेट है false, वहाँ एक और त्रुटि संदेश है:

लेखन त्रुटि: this.options.geocoder [मोड] कार्य नहीं है

... द्वारा प्लगइन रेपो में हल किया जाता है जो पीआर perliedman / पत्रक नियंत्रण-जियोकोडर # 184 है, लेकिन यह अभी तक NPM / unpkg CDN में जारी किया गया संस्करण में भेज दिया नहीं है।

आप अपने त्रुटि संदेश के बारे में अधिक मदद की ज़रूरत है, तो कृपया कोड है कि उन्हें reproduces

23/07/2018 को 13:40
का स्रोत उपयोगकर्ता

वोट
0

छोटे संशोधनों के साथ इस प्रयास करें।

var map = L.map('map').setView([0, 0], 2);

var geocoder = L.Control.geocoder({
    defaultMarkGeocode: false,
    collapsed: false
  })
  .on('markgeocode', (e) => {
    var bbox = e.geocode.bbox;
    var poly = L.polygon([
      bbox.getSouthEast(),
      bbox.getNorthEast(),
      bbox.getNorthWest(),
      bbox.getSouthWest()
    ]).addTo(map);
    map.fitBounds(poly.getBounds());
  })
  .addTo(map);
22/08/2019 को 12:09
का स्रोत उपयोगकर्ता

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