Derzeit verwenden Sie die Google-Map-Komponente für Polymer und einige Probleme.(Polymer) Aktualisieren von google-map nach dem dynamischen Hinzufügen von google-map-markern zu DOM
https://elements.polymer-project.org/elements/google-map
Was ich will ist dynamisch google-map-Marker tun erstellen, die auf einer Karte angezeigt werden. Diese Koordinaten in der URL sein könnte, packte Daten aus unserer Datenbank usw.
Dies ist, was zur Zeit mein Code wie unten aussieht:
<google-map id="map" fit-to-markers api-key="API-KEY">
<template is="dom-repeat" items="{{data}}">
<google-map-marker latitude="[[item.Latitude]]" longitude="[[item.Longitude]]">Marker</google-map-marker>
</template>
</google-map>
Hier ist mein Problem, aber. Dies funktioniert NUR, wenn die Marker das DOM-Rendering beenden, bevor die Karte geladen wird. Wenn die Karte zuerst geladen wird, werden die Markierungen nicht angezeigt. Also, ich habe offensichtlich eine Race Condition.
Gibt es eine Möglichkeit, das Google-Map-Element zu aktualisieren, um die neuen Markierungen anzuzeigen, nachdem sie mit dem Rendern im DOM fertig sind? Ich habe das Gefühl, dass ich jede Funktion auf der Seite des Elements vergeblich ausprobiert habe.
Jede Hilfe würde sehr geschätzt werden.
das scheint ein Fehler zu sein, weil das 'google-map' Element dynamisch hinzugefügte' google-map-marker' gut behandeln sollte (siehe [hier] (https://github.com/GoogleWebComponents/google-map/ Blob/Master/Google-Map.html # L478)). Als Workaround können Sie versuchen, 'google-map.resize()' –
eine ähnliche Frage (leider nicht beantwortet): http://stackoverflow.com/questions/38129728/polymer-1-0-dom-repeat- with-google-maps –
Es stellte sich heraus, dass es ein Problem mit dem systemeigenen Schatten-DOM war. Ich wechselte unsere App, um zwielichtiges DOM zu verwenden, und alle Probleme lösten sich auf magische Weise auf (siehe meine vollständige Antwort unten). Danke für die Hilfe! – MoonDawg