Gebruik Bijsluiter Geocoder zonder een marker bij het zoeken

stemmen
0

Momenteel ben ik met behulp van de folder kaart en voegde deze geocoder plugin: https://github.com/perliedman/leaflet-control-geocoder . Mijn probleem is, dat iedere keer dat ik op zoek naar een plaats, het geeft ook een marker op deze locatie, maar ik niet wilt. Het mag alleen in te zoomen en een marker niet ingesteld.

Is er iemand weet hoe je deze functie uit te schakelen of de set marker direct te schrappen?

De set marker ziet er zo uit

Ik ben werkzaam in Ionische / typoscript en mijn code voor het gebruik van de geocoder is dit:

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

Volgens GitHub, defaultMarkGeocode: valse moet de markering uit te schakelen. Bij het gebruik van het, ik krijg deze fout:

Kan niet lezen eigenschap '_leaflet_id' ongedefinieerde

Ik heb ook geprobeerd

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

maar het is gewoon vertelt me ​​dat de variabele geocoder nooit werd gebruikt en ik krijg deze fout:

Kan niet lezen eigenschap 'addLayer' ongedefinieerde

Als u suggesties heeft hoe het te repareren en of uit te schakelen of deze marker te verwijderen, dan zou ik heel gelukkig zijn.

Groeten

De vraag is gesteld op 22/07/2018 om 17:40
bron van user
In andere talen...                            


2 antwoorden

stemmen
0

Kon het niet reproduceren exacte foutmeldingen die te beschrijven:

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>

Maar als collapsedoptie is ingesteld op false, is er een andere foutmelding:

TypeError: this.options.geocoder [mode] is geen functie

... die is opgelost in plugin repo door PR perliedman / folder-control-geocoder # 184 , maar het is nog niet geleverd in een vrijgegeven versie in NPM / unpkg CDN.

Als u meer hulp op uw foutmeldingen nodig heeft, gelieve code die hen reproduceert .

antwoordde op 23/07/2018 om 13:40
bron van user

stemmen
0

probeer dit met weinig wijzigingen.

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);
antwoordde op 22/08/2019 om 12:09
bron van user

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