Utilisez Dépliant géocodage sans mettre un marqueur lors de la recherche

voix
0

actuellement je suis en utilisant la carte de brochure et a ajouté ce plugin géocodage: https://github.com/perliedman/leaflet-control-geocoder . Mon problème est que chaque fois que je cherche un endroit, elle fixe également un marqueur à cet endroit, mais je ne pas veux. Il ne doit pas zoomer et définir un marqueur.

Quelqu'un sait-il comment désactiver cette fonction ou supprimer le marqueur instantanément ensemble?

Le marqueur de jeu ressemble à ceci

Je travaille dans ionique / tapuscrit et mon code pour utiliser le géocodage est la suivante:

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

Selon GitHub, defaultMarkGeocode: false doit désactiver le marqueur. Lorsque vous utilisez, je viens d'obtenir cette erreur:

Impossible de lire la propriété « _leaflet_id » undefined

J'ai aussi essayé

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

mais il me dit que cela n'a jamais été utilisé la variable géocodage et je reçois cette erreur:

Impossible de lire la propriété « addLayer » undefined

Si vous avez des suggestions pour corriger et désactiver ou supprimer ce marqueur, je serais très heureusement.

Salutations

Créé 22/07/2018 à 17:40
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
0

Impossible de reproduire les exacts messages d'erreur que vous décrivez:

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>

Toutefois , lorsque l' collapsedoption est réglée sur false, il y a un autre message d'erreur:

TypeError: this.options.geocoder [Mode] n'est pas une fonction

... qui est résolu dans le repo de plug - in par PR perliedman / dépliant-contrôle géocodage # 184 , mais il n'a pas encore été livré dans une version publiée en NPM / unpkg CDN.

Si vous avez besoin d'aide sur vos messages d'erreur, s'il vous plaît fournir le code qui les reproduit .

Créé 23/07/2018 à 13:40
source utilisateur

voix
0

s'il vous plaît essayer avec peu de modifications.

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);
Créé 22/08/2019 à 12:09
source utilisateur

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