使用谷歌地图javascript API搜索地址

时间:2010-08-31 15:19:28

标签: javascript google-maps geocoding

我创建了以下在JS中显示和寻址的函数:

function showMapForm(idDiv, divWidth, divHeight, idLat, idLng) {
    document.getElementById(idDiv).style.width = divWidth+'px';
    document.getElementById(idDiv).style.height = divHeight+'px';
    if (document.getElementById(idLat).value=='' && document.getElementById(idLng).value=='') {
        //Paris
        iniLat = 48.85455;
        iniLng = 2.358627;
    } else {
        iniLat = document.getElementById(idLat).value;
        iniLng = document.getElementById(idLng).value;
    }
    var latlng = new google.maps.LatLng(iniLat, iniLng);
    var myOptions = {
                    zoom: 15,
                    center: latlng,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                    };
    map = new google.maps.Map(document.getElementById(idDiv), myOptions);

    marker = new google.maps.Marker({
                                        position: new google.maps.LatLng(iniLat, iniLng),
                                        map: map
                                        });

    google.maps.event.addListener(map, 'click', function(eve) {
        marker.setPosition(eve.latLng);
        document.getElementById(idLat).value = marker.getPosition().lat();
        document.getElementById(idLng).value = marker.getPosition().lng();
    });
}

你可以看到它需要一个div的id,所需的宽度和高度以及我存储纬度和经度的隐藏字段的id,如果这些值不存在,它将使用纬度和经度巴黎。 我想要做的是改进这个功能,这样它就可以接受一个字符串值,地址如“Saint Joseph Street No. 45,Paris”,如果找到地址就放一个标记。

我的问题是:你知道是否有办法使用google maps API从搜索字符串中获取经度和纬度? (第一次出现就会这样做)

1 个答案:

答案 0 :(得分:4)

使用geocoder