Точки Google Maps не отображаются до низких уровней масштабирования - PullRequest
1 голос
/ 03 декабря 2010

Я работаю над (Perl) программой, которая использует API Карт Google и файл KML для извлечения данных из базы данных, которая создает точки на карте.Я так много сделал, но точки появляются только после того, как я почти полностью увеличил масштаб, до уровня масштабирования, где отображается только одна точка.

При масштабировании по умолчанию отображается только мой маленький город (3-5миль) поэтому я думал, что все точки смогут показать.Кто-нибудь знает, как сделать так, чтобы все точки отображались на уровне всего города, а не только при увеличении масштаба?

Любая помощь очень ценится.Спасибо!

Редактировать: добавлен тег JavaScript, потому что я видел большую работу, проделанную с Google Maps с использованием JS, и, учитывая, что проблема действительно не зависит от языка, я подумал, что некоторые из этих разработчиков могутв состоянии предложить некоторое понимание.

1 Ответ

0 голосов
/ 13 декабря 2010

Попробуйте включить тег <Lod> в свой KML, который является потомком <Region>.Вы можете определить это один раз для метки, полученной из вашей БД.или только один раз на запрос (определяется minLat, maxLat, minLong, maxLong).В первом случае LodPixels является константой, тогда как во втором случае вы должны рассчитать его как функцию от размера региона.Это, безусловно, работает в Google Планета Земля и может также работать в Картах.Посмотрите здесь , чтобы увидеть, как он работает в Earth API (JS)

....
<Region>
    <LatLonAltBox>
        <north>###</north>
        <south>###</south>
        <east>###</east>
        <west>###</west>
        <minAltitude>###</minAltitude>
        <maxAltitude>###</maxAltitude>
    </LatLonAltBox>
    <Lod>
        <minLodPixels>###</minLodPixels>
        <maxLodPixels>###</maxLodPixels>
        <minFadeExtent>###</minFadeExtent>
        <maxFadeExtent>###</maxFadeExtent>
    </Lod>
</Region>
....
...