如何在谷歌地图api中建议一个“你是说”的建议链接?

时间:2010-11-11 22:35:46

标签: javascript maps google-maps-api-3 google-maps-api-2

我正在尝试使用google maps api创建一个Web应用程序,它提供了指示。现在,除非用户输入错误信息,否则它会指示方向正常,它既不会显示任何内容,也不会尝试弄明白并给出错误的地址。我想制作功能,如果地址未被识别,它有“你的意思是”,然后提出一个接近你想要输入的建议。我在谷歌代码中找不到任何谈论这个的东西,但我想知道是否有人知道它是否可能,以及我该怎么做?

谢谢!

1 个答案:

答案 0 :(得分:1)

loadFromWayPoints()仅在提供给它的输入映射到地球上的任何确定点时才绘制折线。您可以通过以纬度和经度的形式而不是地址来修复您的点来避免混淆。然后使用以下函数创建您是否意味着指向是否为toInput返回多个点。

代码是不言自明的。如果你不明白。回复评论。 您要绘制的点之一应该从谷歌地理编码器系统返回明确的点。 在我看来,我使用了从点到明确的观点。并让它与我协调。所以没有机会获得

geo.getLocations(toInput, function (result){
        //map.clearOverlays();
        if (result.Status.code == G_GEO_SUCCESS) {
            // ===== If there was more than one result, "ask did you mean" on them all =====
            if (result.Placemark.length > 1) {
                document.getElementById("textualdirectionscontainer").innerHTML = "Did you mean:";
                // Loop through the results
                for (var i=0; i<result.Placemark.length; i++) {
                    var p = result.Placemark[i].Point.coordinates;
                    document.getElementById("textualdirectionscontainer").innerHTML += "<br>"+(i+1)+": <a href='javascript:place(" +p[1]+","+p[0]+")'>"+ result.Placemark[i].address+"<\/a>";
                }
            }
            // ===== If there was a single marker =====
            else {
                document.getElementById("textualdirectionscontainer").innerHTML = "";
                var p = result.Placemark[0].Point.coordinates;
                toLatLang = new GLatLng(p[1], p[0]);
    //          place(p[1],p[0]);
                directionsPanel = $('textualdirectionscontainer');
                directionsPanel.getElements('div').each(function(item) {
                    item.dispose();
                });
                directions.clear(); 
                directions.loadFromWaypoints([hotelLatLng.toString(), toLatLang.toString()], {getPolyline:true});
                /*var gp = directions.getPolyline();
                map.addOverlay(gp); */
            } 
        }
    });