在Google地图上动态加载KML地标

我有一个静态.csv类型的文件,列出4000多个地址,每个地址都有一个唯一的ID以及相关的经度和纬度。 我想查询一个数据库,该数据库为每个场所ID存储事件,然后在Google地图上显示,只有那些事件与查询匹配的地址。

如果它不符合Google的查询限制(当它启用时,每天有数十万到数百万的查询潜力),这将是一回事。 KML文件的限制是足够的,但是(我相信它只是计算的文件大小,我错了吗?),我只是将.csv类型文件转换为.kml文件,如果不是我不喜欢并不是每次都要在地图上加载所有4000多个地址,只需要那些与搜索查询相对应的地址。

必须有选择性地从单个.kml文件加载某些地标的方法,对吧? 如果可能的话,我想不需要使用服务器端方法(ASP.Net),但是如果绝对必要的话。

~~~~~

我想我会使用服务器端的方法。 我仍然希望使用kml,因为我正在运行查询限制尝试使用纯JavaScript(尽管我可能一直在做错事,那时我正在学习如何使用Google maps API)。 kml包括场地及其相关场所,可能需要购买门票。 搜索词可能是'邪恶的纽约',或'音乐会FL'。 数据库将返回场所ID,它与kml文件中的地标标识关联。 我想要做的是使用由搜索查询返回的场所ID数组,然后扫描kml文件,并仅返回与数组中场所ID相匹配的地点标识。 然后,我希望将kml地标加载到同一页面上的div标记中,然后让Google使用它将这些指针放在地图上。 有没有使用#命名锚点而不是完整的URL来将kml加载到Google地图的方法(var kmlVar = new google.maps.KmlLayer('#kmlDivTagOnSamePage');这不起作用)? 这将很容易编写服务器端ASP部分。


如果您仅使用2D地图,则可能不需要使用KML。 由于您不需要一次显示所有4k位置,因此您可能不需要使用Google的服务器端渲染(您可以在JavaScript中渲染标记),因此虽然Fusion Tables可以工作,但我会推荐一个这些备选方案: - 将所有数据加载为JSON字典,并将ID作为您的密钥,并在搜索运行时查找匹配并仅显示这些数据 - 请勿在客户端上加载任何内容:只需查询您的服务器并让它返回每次搜索所需的显示数据

如果这些建议似乎没有道理,那么可以尝试提供某人可能会询问的确切类型的查询,以及您对数据库的期望响应类型,无论您是否控制该数据库等。

链接地址: http://www.djcxy.com/p/23345.html

上一篇: Dynamic loading of KML placemarks on Google maps

下一篇: How can I change the Python that my Django project is using?