全部, 我有一些位置存储在我的数据库中,具有长坐标和纬度坐标。我在为每个位置创建地图或为所有位置添加标记之间进行辩论。任何建议都会受到赞赏,但我的问题是我从mySQL数据库中获取这些值。看起来你可以实际添加这些的唯一方法是通过javascript。我是否需要将坐标传递给javascript函数来创建标记?那怎么样?任何建议都表示赞赏!
答案 0 :(得分:3)
你是对的。您必须从数据库中获取数据并使用以下内容:
function initialize() {
var myLatlng = new google.maps.LatLng(<?php echo $lat; ?>,<?php echo $long; ?>);
var myOptions = {
zoom: 4,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title:"Hello World!"
});
}
在&lt;页面上的脚本类型=“text / javascript”&gt; -tag。 以上内容取自http://code.google.com/apis/maps/documentation/javascript/examples/marker-simple.html,因此您必须根据自己的需要进行调整。
答案 1 :(得分:0)
是的,您需要将数据库中的长坐标和纬度坐标传递到网页上的Javascript代码,以便在地图上为它们创建标记。如果您使用PHP代码生成页面,这意味着编写PHP代码来查询数据库,然后使用包含的Javascript代码echo()HTML页面。
zrvan上面的回复使用new google.maps.LatLng()
来创建单个坐标对象并绘制单个标记。如果您决定在单个地图上放置多个标记,我建议将标记的数据放入Javascript数组数据结构中。然后编写一个Javascript循环来为数组中的每个条目调用new google.maps.Marker()
。
Google Maps文档建议使用XML文档和AJAX调用将标记数据从数据库传送到网页。见http://code.google.com/apis/maps/articles/phpsqlajax.html。
如果您在一张地图上获得了超过几百个标记,您可能需要阅读Google Maps API文档中的论文&#34; Too Many Markers!&#34;, http://code.google.com/apis/maps/articles/toomanymarkers.html。