Bruk Hefte Geocoder uten å sette et merke ved søk

stemmer
0

For tiden er jeg ved bruk av kart brosjyren og lagt geocoder plugin: https://github.com/perliedman/leaflet-control-geocoder . Mitt problem er at hver gang jeg søker etter et sted, det setter også en markør på dette stedet, men jeg ikke vil ha det til. Det bør bare zoome inn og ikke angi en markør.

Er det noen som vet hvordan du deaktiverer denne funksjonen eller slette settet markør kjapt?

Settet markør ser slik ut

Jeg jobber i Ionic / Loggfila og min kode for å bruke geocoder er dette:

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

Ifølge GitHub, defaultMarkGeocode: falsk bør deaktivere markøren. Når du bruker det, jeg bare får denne feilmeldingen:

Kan ikke lese hotellets _leaflet_id av udefinert

Jeg har også prøvd

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

men det bare forteller meg at variabelen geocoder aldri ble brukt og jeg får denne feilmeldingen:

Kan ikke lese hotellets addLayer av udefinert

Hvis du har noen forslag til hvordan å fikse det og enten deaktivere eller slette denne markøren, ville jeg være veldig heldigvis.

Hilsener

Publisert på 22/07/2018 klokken 17:40
kilden bruker
På andre språk...                            


2 svar

stemmer
0

Kunne ikke reprodusere nøyaktige feilmeldinger du beskriver:

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>

Men når collapsedalternativet er satt til false, det er en annen feilmelding:

Feiltype: this.options.geocoder [mode] er ikke en funksjon

... som er løst i plugin repo av PR perliedman / pakningsvedlegget-kontroll-geocoder # 184 , men det er ennå ikke levert i en utgitt versjon i NPM / unpkg CDN.

Hvis du trenger mer hjelp på dine feilmeldinger, vennligst oppgi kode som gjengir dem .

Svarte 23/07/2018 kl. 13:40
kilden bruker

stemmer
0

prøv dette med små modifikasjoner.

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);
Svarte 22/08/2019 kl. 12:09
kilden bruker

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