Více

Po události zvětšení mapy se grafika grafické vrstvy překreslí nesprávně

Po události zvětšení mapy se grafika grafické vrstvy překreslí nesprávně


Mám webovou mapovou aplikaci, která přidává šipky na segmenty ulice označující směr jako grafická vrstva. Směr každé šipky se vypočítá tímto procesem: 1) sestavte pole segmentů ulice z dotazu 2) najděte uzel od a do každého segmentu a získejte geometrii každého 3) vypočítejte sklon čáry z tyto dva uzly 4) použijte sklon k výpočtu úhlu grafiky šipky, která je nakreslena nad úsečkou a jejím středem.

Funguje to podle očekávání poté, co jsem do funkce přidal krátký časový limit. Než jsem přidal časový limit, zdálo se, že některé šipky byly nakresleny před každým novým úhlem, což vedlo k tomu, že některé šipky byly nakresleny nesprávným směrem (i když všechny šipky byly na správném místě). Protože jsem přidal časový limit, nemám tento problém při přidání počáteční grafiky.

Problém, který teď mám, je ten, že když přiblížím nebo oddálím mapu, mnoho šipek je překresleno nesprávně. Věřím, že se tu děje totéž, co před tím, než jsem přidal časový limit; šipky jsou nakresleny před výpočtem úhlu pro každou šipku.

Jak to mohu opravit? Mohu nějak deaktivovat funkci překreslení, nebo musím znovu spustit výpočet dotazu a úhlu?

Používám ArcGIS Javascript API 3.8.


Problém byl v tom, že jsem spíše než každou instanci symbolu přidaného do grafického pole počítal úhel pro proměnnou symbolu značky. Změnil jsem smyčku, kde jsou přidány grafiky, takže každý nový doplněk vytvořil novou instanci symbolu značky s vypočítaným vlastním úhlem. Nyní orientace symbolu zůstává konzistentní.


Podívejte se na video: PROZKOUMÁVÁNÍ GOOGLE MAP #2