在我正在构建的项目中,我希望用户能够选择存储在数据库中的地址,然后单击该地址以查看更多信息。当用户点击链接时,它会将他们带到另一个页面,该页面将显示更多信息,以及地址图。
我想要做的是让地图动态定位地址,而不是使用预定义的嵌入链接。但我不完全确定我能做什么,如果可以做到,我不知道怎么做。
基本上,我想知道如何从数据库中获取地址,并将其传递给项目中的嵌入式地图?
如果使用Bing或Google,对我来说并没有什么不同。
干杯!
答案 0 :(得分:1)
是的,你想要的很容易。 Bing Maps和Google Maps都提供地理编码服务,您可以在其中为服务提供地址,并且服务作为地图上地址的结果经度和纬度坐标的一部分返回。我可以在这里粘贴一堆代码,但是你可以在我上面的链接中找到你需要的所有代码示例。
当用户点击您的地址链接时,您会将其带到详细信息页面。在该页面上,您将使用javascript来设置地图。除了设置地图的javascript之外,您还需要更多javascript,详见上面的链接,以调用地理定位服务。在本质上,您将要查找的地址传递给服务,如果地址有效,服务将返回该地址的经度和纬度坐标。使用此信息,您可以缩放到地图上的该位置,并可选择在此处放置图钉以指示地址。
点击此处查看Google地图中的example。
Interactive SDK of Bing Maps点击REST服务 - >按查询查找位置。
我假设您对地图控件的ajax版本感兴趣,但其他版本应该非常相似,并且应该或多或少相同。
答案 1 :(得分:0)
您可以随时执行以下操作:
<div id="location"></div>
<script type="text/javascript">
function initialize() {
var gpLatlng = new google.maps.LatLng(latitude, longitude);
var gpOptions = {
zoom: 15,
center: gpLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("location"), gpOptions);
var marker = new google.maps.Marker({
position: gpLatlng,
map: map,
title:"Title"
});
}
function loadScript() {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://maps.google.com/maps/api/js?sensor=false&callback=initialize®ion=GB";
document.body.appendChild(script);
}
window.onload = loadScript;
</script>