将列表项添加到谷歌地图
Add list items to a Google map
我有一个PHP脚本,生成一个地方列表,我需要将这些添加到同一页面上的谷歌地图。尽管网上有很多教程,我还没能找到一个简单的方法来做到这一点。我很想知道是否有一个简单的javascript/php片段来做到这一点…无需使用JQuery插件等
<ul id="myPlaces">
<li name="Pan Africa Market" address="1521 1st Ave, Seattle, WA" lat="47.608940" lng="-122.340141" type="restaurant">Pan Africa Market</li>
<li name="Buddha Thai & Bar" address="2222 2nd Ave, Seattle, WA" lat="47.613590" lng="-122.344391" type="bar"/>Buddha Bar</li>
<li name="The Melting Pot" address="14 Mercer St, Seattle, WA" lat="47.624561" lng="-122.356445" type="restaurant"/>Melting Pot</li>
</ul>
谷歌地图只会包含带有这些位置的标记。当然,位置会改变,所以它们不能硬编码。
纯jQuery可以为每个函数做到这一点。对于代码示例,您需要一个google maps对象:
$('#myPlaces li').each(function(index, el) {
new google.maps.Marker({
position: new google.maps.LatLng($(el).attr("lat"), $(el).attr("lng")),
map: map,
title: $(el).attr("name")
});
});
查看doku获取更多信息:
- http://api.jquery.com/each
- http://code.google.com/intl/en-EN/apis/maps/documentation/javascript/reference.html标记
在纯JS中,它需要编写更多的代码,可以使用getElementsByTagName函数来完成,您可以在文档或子节点上调用该函数:
var i, list, places, place, lat, lng, placeName;
list = document.getElementById("myPlaces");
places = list.getElementsByTagName("li");
for (i = 0; i < places.length; i += 1) {
place = places[i];
lat = place.getAttribute("lat");
lng = place.getAttribute("lng");
placeName = place.getAttribute("name");
new google.maps.Marker({
position: new google.maps.LatLng(lat, lng),
map: map,
title: placeName
});
}
Soc首先到达那里,但是的,这基本上是你怎么做的,但一个建议是让php生成一个JSON对象与数据,并使用它来生成html列表和地图的标记。如果这是一个大型网站的一部分,绝对值得这样做。从HTML中抓取地图数据通常不是好的设计。
Google Maps JavaScript API
相关文章:
- 使用ASP.NET将谷歌地图添加到项目中,并从数据库中检索位置
- Javascript/谷歌图表-为谷歌地图添加标记过滤器
- 如何在地图加载后向谷歌地图添加标记
- AngularJS与角度谷歌地图:添加标记通过fomr和查找我
- 向谷歌地图添加自定义标记
- 谷歌地图添加了多个圆圈
- 谷歌地图:添加硬编码标记到循环
- 谷歌地理编码器+谷歌地图添加标记
- 谷歌地图添加监听器点击获取XML数据
- 如何向谷歌地图添加标记 - JavaScript
- 谷歌地图添加侦听器无法正常工作
- 将两个谷歌地图添加到一个HTML页面上
- Spring MVC - 从数据库向谷歌地图添加多个标记
- 如何使用jQuery和JSON向谷歌地图添加pin
- 谷歌地图添加多条多段线
- 仅在需要时向谷歌地图添加标记
- 谷歌地图-添加新的标记,而无需每次初始化地图
- 使用MapInnovations将谷歌地图添加到网站
- 使用数组向谷歌地图添加多个自定义标记
- Angularjs谷歌地图添加标记