【问题标题】:Google Map Direction Query谷歌地图方向查询
【发布时间】:2011-11-11 20:24:28
【问题描述】:

如何根据google api返回的xml或json绘制地图?

例如,我有一个旅游信息网站。管理方面的经理可以添加旅游详细信息,包括几个目的地。期望的结果是显示路线、地图和目的地详细信息的动态地图。

我已经读到 google api 可以输出 XML 或 json,然后我将如何从解析的 XML 或 json 代码中绘制地图?

【问题讨论】:

    标签: asp.net xml json google-maps-api-3


    【解决方案1】:

    这些是我在我的网站中使用的功能(连同一点点 jQuery:

    var directionsDisplay;
    var directionsService = new google.maps.DirectionsService();
    
    function setMap(midpoint)
    {
        var latlng = new google.maps.LatLng(midpoint.lat(), midpoint.lng());
        var myOptions = {
            zoom: 12,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("map_canvas"), 
                                                 myOptions);
        directionsDisplay.setMap(map);
    
        var request = {
            origin:"[Put origin here]",
            destination:"[Put destination here]",
            travelMode: google.maps.TravelMode.DRIVING
        };
    
        directionsService.route(request, function(result, status) {
            if (status == google.maps.DirectionsStatus.OK) {
                directionsDisplay.setDirections(result);
            }
        });
    
    }
    
    function initialize() {
        var address = "[Put destination here]";
        var geocoder = new google.maps.Geocoder();
        directionsDisplay = new google.maps.DirectionsRenderer();
    
        var result = "";
        geocoder.geocode({'address': address}, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK)
            {
                result = results[0].geometry.location;
                setMap(result);
            }
            else
            {
                $("#map_canvas").hide();
            }
        });
    }
    

    【讨论】:

    • 您的解决方案是正确的。我们可以输入目的地在地图上绘制,但我想动态绘制完整的方向图,所以我使用了谷歌方向 API。其中使用 origin n 目标参数请求一个 url,它返回一个 .json 文件,其中完整的方向图写在 json 文件中。现在我如何从该 json 文件中绘制地图。你知道吗?请帮忙。
    • 非常感谢老兄。对于两个以上的目的地,这可能吗?
    • Bitoff 我已经解决了这个问题。我以不同的方式使用了这个概念。在这里我不需要解析任何 xml 或 json。只是我输入了目的地并将其设置为航点。但这里谷歌只提供 10 个最大目的地来免费获取方向。但如果我想要更多目的地,那么我应该购买 google api 密钥?
    猜你喜欢
    • 2013-08-20
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    相关资源
    最近更新 更多