ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΡΡΡ Π»ΠΈΡΡΠΎΠ²ΠΊΠΈ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ: ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΊΠ°ΡΡΡ ΡΠΆΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½
ΠΠΎΡ ΠΎΠΆΠ΅, Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ ΠΊΠ°ΡΡΡ... ΠΠΎΡΠΊΠΈ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Π·Π΄Π΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. StackOverflow (http://stackoverflow.com/questions/tagged/leaflet) β Π»ΡΡΡΠ΅Π΅ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΡΠ»ΠΈ Π²Ρ ΡΡΠΈΡΠ°Π΅ΡΠ΅, ΡΡΠΎ ΡΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ, ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° JSFiddle ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΌ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅.
ΠΠΎΡ ΠΎΠΆΠ΅, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ²ΡΠ·Π°Π½Π° Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π² MVVM, Π° Π½Π΅ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. ΠΠΎΡΡΠ°ΡΠ°ΡΡΡ Π½Π°ΠΉΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ MVVM Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π»ΠΈΡΡΠΎΠ²ΠΊΠΈ.
ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°... ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ?
@ralexrdz , Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π°?
@mourner HTML - ΡΡΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ HTML-Π³ΠΎΠ»ΠΎΠ²Π°, Π·Π°Π³ΡΡΠΆΠ°ΡΡΠ°Ρ js ΠΈ css, Π° ΡΠ°ΠΊΠΆΠ΅ div Ρ id = "map". Π Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ js, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ, ΡΡΠΎ
map.setView([19.34, -99.15], 12);
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}', {
Π°ΡΡΠΈΠ±ΡΡΠΈΡ: Β«ΠΠ°Π½Π½ΡΠ΅ ΠΊΠ°ΡΡΡ Β© ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ OpenStreetMap , CC-BY-SA , ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Β© Mapbox Β»,
ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅: 18,
ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ: 'mapboxMapId,
accessToken: 'mapboxAccessToken'
}).Π΄ΠΎΠ±Π°Π²ΠΈΡΡ(ΠΊΠ°ΡΡΠ°);
ΠΠ°ΠΊ ΠΌΠΎΠ³Π»ΠΎ ΡΠ»ΡΡΠΈΡΡΡΡ, ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΡΡ ΡΠ°Π½ΡΡΠ΅?
Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π»ΠΈΡΡΠΎΠ²ΠΊΡ Π² React
ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π² ΠΎΡΠ²Π΅ΡΠ½ΠΎΠΉ Π»ΠΈΡΡΠΎΠ²ΠΊΠ΅ @epicallan
@danzel Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅Π°ΠΊΡΠΈΡ, ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° Π»ΠΈΡΡΠΎΠ²ΠΊΠΈ Ρ ΡΠ΅Π°ΠΊΡΠΈΠ΅ΠΉ, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π» Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π°ΠΊΠ΅ΡΡΠΊΠΈΠ΅ ΠΎΠ±Ρ ΠΎΠ΄Π½ΡΠ΅ ΠΏΡΡΠΈ.
@epicallan ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ, ΡΡΠΎ Π²Ρ ΡΠ΄Π΅Π»Π°Π»ΠΈ? Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ React ΠΈ Leaflet.
ΠΠ΅ΡΠ΅Π΄ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΊΠ°ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π±ΡΠ»Π° Π»ΠΈ ΠΊΠ°ΡΡΠ° ΡΠΆΠ΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½Π° ΠΈΠ»ΠΈ Π½Π΅Ρ.
var container = L.DomUtil.get('map');
Π΅ΡΠ»ΠΈ (ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ! = Π½ΠΎΠ»Ρ) {
container._leaflet_id = Π½ΠΎΠ»Ρ;
}
@Dipinrajc Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°ΡΡ ΠΌΡΡΡΡ ΠΏΠΎ ΠΊΠ°ΡΡΠ΅.
ΠΡΠ±Π°Ρ ΠΈΠ΄Π΅Ρ, ΠΊΠ°ΠΊ ΡΠ½ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΡ ΠΊΠ°ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΡΡΠΈ @adrielstar ?
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎ @fillipefeitosa .
HTML:
< div id="ΠΊΠ°ΡΡΠ°" >< /div>
Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΡΡΡ:
document.getElementById('map').innerHTML = "< div id='map' style='width: 100%; height: 100%;'>";
ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ div, Π³Π΄Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΊΠ°ΡΡΠ°.
Π₯ΠΎΠΏ ΡΡΠΎ ΡΠ΅Π±Π΅ ΡΠΎΠΆΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π΄ΡΡΠ³, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ. ΠΠ½ Π·Π°ΠΌΠ΅Π½ΠΈΠ» ΠΌΠΎΠΉ var map
Π½Π° div, ΠΈ ΠΊΠ°ΡΡΠ° Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ
ΠΠ΅ΡΠ΅Π΄ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΊΠ°ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π±ΡΠ»Π° Π»ΠΈ ΠΊΠ°ΡΡΠ° ΡΠΆΠ΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½Π° ΠΈΠ»ΠΈ Π½Π΅Ρ.
var container = L.DomUtil.get('map');
Π΅ΡΠ»ΠΈ (ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ! = Π½ΠΎΠ»Ρ) {
container._leaflet_id = Π½ΠΎΠ»Ρ;
}
ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π»ΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄?
ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ Ρ ΠΌΠ΅Π½Ρ :(
ΠΠ΅ΡΠ΅Π΄ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΊΠ°ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π±ΡΠ»Π° Π»ΠΈ ΠΊΠ°ΡΡΠ° ΡΠΆΠ΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½Π° ΠΈΠ»ΠΈ Π½Π΅Ρ.
var container = L.DomUtil.get('map');
Π΅ΡΠ»ΠΈ (ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ! = Π½ΠΎΠ»Ρ) {
container._leaflet_id = Π½ΠΎΠ»Ρ;
}ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π»ΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄?
@enzojimenez , Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠ°ΠΊ Ρ ΡΠΎΠ·Π΄Π°Π» Π½ΠΈΠΆΠ΅
function initializingMap() // Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΊΠ°ΡΡΡ.
{
var container = L.DomUtil.get('map');
Π΅ΡΠ»ΠΈ (ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ! = Π½ΠΎΠ»Ρ) {
container._leaflet_id = Π½ΠΎΠ»Ρ;
}
}
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅:
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ * ΠΊΠ°ΠΊ ΠΊΠ°ΡΡΡ ΠΈΠ· 'Π»ΠΈΡΡΠΎΠ²ΠΊΠΈ';
@ViewChild (Β«ΠΊΠ°ΡΡΠ°Β») mapElement: ElementRef;
ΠΊΠ°ΡΡΠ°: ΠΠ°ΡΡΠ°.ΠΠ°ΡΡΠ°;
this.map = Map.map (this.mapElement.nativeElement, {
ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅: 18
});
ΠΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅: https://www.designlimbo.com/leaflet-ionic-3-and-map-container-is-already-initialized/
ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π·Π΄Π΅ΡΡ , ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ:
if (map != undefined) {
map.remove();
}
ΠΠ΅ΡΠ΅Π΄ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΊΠ°ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π±ΡΠ»Π° Π»ΠΈ ΠΊΠ°ΡΡΠ° ΡΠΆΠ΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½Π° ΠΈΠ»ΠΈ Π½Π΅Ρ.
var container = L.DomUtil.get('map');
Π΅ΡΠ»ΠΈ (ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ! = Π½ΠΎΠ»Ρ) {
container._leaflet_id = Π½ΠΎΠ»Ρ;
}
Π’Ρ Π°Π½Π³Π΅Π»
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΠ΅ΡΠ΅Π΄ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΊΠ°ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π±ΡΠ»Π° Π»ΠΈ ΠΊΠ°ΡΡΠ° ΡΠΆΠ΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½Π° ΠΈΠ»ΠΈ Π½Π΅Ρ.
var container = L.DomUtil.get('map');
Π΅ΡΠ»ΠΈ (ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ! = Π½ΠΎΠ»Ρ) {
container._leaflet_id = Π½ΠΎΠ»Ρ;
}