我正在开发一个(Perl)程序,该程序使用Google Maps API和KML文件从数据库中提取数据,该数据库在地图上创建点。我已经完成了很多工作,但是这些点只有在我完全放大之后才会出现,只能显示一个点的缩放级别。
默认缩放仅显示我的小城市(3-5英里)所以我认为所有的点都可以显示。有没有人知道如何让所有的积分都出现在全市范围内,而不是仅仅在放大的时候出现?
非常感谢任何帮助。谢谢!
编辑:添加了一个JavaScript代码,因为我已经看到使用JS完成了Google地图的大量工作,并且考虑到问题确实不是特定于语言的,我想其中一些开发人员可能会提供一些见解
答案 0 :(得分:0)
尝试将<Lod>
标记合并到KML中,该标记是<Region>
的子级。您可以从数据库中获得的每个地标定义一次。或每个查询只有一次(由minLat,maxLat,minLong,maxLong定义)。在第一种情况下,LodPixels是常数,而在后一种情况下,您必须将其计算为区域大小的函数。它肯定适用于Google地球,也可以在地图中使用。看here,看看它在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>
....