2010-12-03 97 views
1

我正在使用谷歌地图API和KML文件从数据库中创建点的数据的(Perl)程序工作。我已经完成了很多工作,但是只有在我几乎全部放大缩小到仅显示一个点的缩放级别后,点才会出现。谷歌地图点不会出现,直到低缩放级别

默认缩放只显示我的小城市(3-5英里),所以我认为所有的点都能够显示。是否有人知道如何让所有要点出现在全市范围内,而不是只在放大时才显示出来?

任何帮助,非常感谢。谢谢!

编辑:添加了一个JavaScript标记,因为我已经看到使用JS的谷歌地图完成了很多工作,并且考虑到这个问题确实不是语言特定的,我想有些开发人员可能会提供一些洞察力。

+0

我和他一起工作,只是想澄清的perl只有建立一个HTML页面中从数据库和JavaScript的XML做所有Google地图互动。 此外,问题不是默认缩放级别。问题在于,我们无法在缩放级别看到我们的标记,因此我们一次就能看到整个城镇。 – Aaron 2010-12-03 03:07:45

回答

0

尝试将<Lod>标记合并到您的KML中,该标记是<Region>的孩子。您可以根据从数据库获得的每个地标定义一次。或者每个查询只有一次(由minLat,maxLat,minLong,maxLong定义)。在第一种情况下,LodPixels是一个常量,而在后一种情况下,您必须将其作为区域大小的函数进行计算。它确实可以在Google地球中运行,并且可以在Google地图中使用。看here看到它在地球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> 
....