如何动态更新Bing地图或Google地图,具体取决于提供给它的地址

时间:2012-03-25 16:27:12

标签: google-maps bing-maps

在我正在构建的项目中,我希望用户能够选择存储在数据库中的地址,然后单击该地址以查看更多信息。当用户点击链接时,它会将他们带到另一个页面,该页面将显示更多信息,以及地址图。

我想要做的是让地图动态定位地址,而不是使用预定义的嵌入链接。但我不完全确定我能做什么,如果可以做到,我不知道怎么做。

基本上,我想知道如何从数据库中获取地址,并将其传递给项目中的嵌入式地图?

如果使用Bing或Google,对我来说并没有什么不同。

干杯!

2 个答案:

答案 0 :(得分:1)

是的,你想要的很容易。 Bing MapsGoogle 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&region=GB";
        document.body.appendChild(script);
    }

    window.onload = loadScript;
</script>