Χρησιμοποιήστε Φυλλάδιο Geocoder χωρίς τον καθορισμό ενός δείκτη κατά την αναζήτηση

ψήφοι
0

τη στιγμή είμαι με τη χρήση του χάρτη φυλλάδιο και πρόσθεσε αυτό το plugin geocoder: https://github.com/perliedman/leaflet-control-geocoder . Το πρόβλημά μου είναι ότι κάθε φορά ψάχνω για μια θέση, θέτει επίσης ένα δείκτη σε αυτή τη θέση, αλλά δεν θέλω να. Θα πρέπει να κάνετε ζουμ μόνο και δεν ορίσετε ένα δείκτη.

Ξέρει κανείς πώς να απενεργοποιήσετε αυτή τη λειτουργία ή να διαγράψετε το σύνολο δείκτη αμέσως;

Το σύνολο δείκτης μοιάζει με αυτό

Εργάζομαι στο Ιωνικό / γραφομηχανή και τον κωδικό μου για τη χρήση του 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);

αλλά απλά μου λέει ότι η μεταβλητή geocoder δεν χρησιμοποιήθηκε ποτέ και παίρνω αυτό το σφάλμα:

Δεν μπορείτε να διαβάσετε το ξενοδοχείο «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, υπάρχει και ένα άλλο μήνυμα λάθους:

TypeError: this.options.geocoder [λειτουργία] δεν είναι μια συνάρτηση

... η οποία έχει λυθεί το plugin συμφωνιών επαναγοράς κατά PR perliedman / φυλλάδιο ελέγχου-geocoder # 184 , αλλά δεν έχει αποσταλεί ακόμα σε επίσημη έκδοση στην NPM / unpkg CDN.

Αν χρειάζεστε περαιτέρω βοήθεια για μηνύματα σφάλματος σας, παρακαλούμε να δώσετε τον κωδικό που τις αναπαράγει .

Απαντήθηκε 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