我有一个包含多边形数据的 kml 文件,该文件太复杂而无法加载到一个谷歌地图上,因为它包含数千个 latlng 坐标,这些坐标不会一次加载所有内容。
我的问题是,单击地图标记时是否可以只加载一个多边形?我有一个 mysql 数据库表,其中包含每个标记的 latlng,该表还有一个用于 polyCoords 的列。我正在使用正确显示所有标记的 php 循环浏览数据。然后,我可以向标记添加一个侦听器,该侦听器将从 polyCoords 列加载数据并仅显示单击的地图标记的多边形吗?
<script type="text/javascript">
function initialize()
{
var centre = new google.maps.LatLng(34.233753,-83.828712);
var myOptions =
{
zoom: 4,
center: centre,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
<?php while ($row = @mysql_fetch_assoc($result))
{?>
var myLatlng = new google.maps.LatLng(<?php echo $row['lat'] . ',' . $row['lng']?>);
var marker = new google.maps.Marker
(
{
position: myLatlng,
map: map
}
);
<?php }?>
}
</script>
谢谢
是的。调查 AJAX。
谷歌文档中有一些文章可能会有所帮助:https://developers.google.com/maps/documentation/javascript/articles
查看将 PHP/MySQL 与 Google 地图配合使用和使用 PHP 和 MySQL 创建商店定位器。后者包括从数据库中获取数据并更新地图上显示的内容(它是标记而不是多边形边界,但技术非常相似)。
如果您遇到特定的编码困难,请提出有关该问题的问题。