Google geocoder服务未使用javascript返回适当的lat和long值

Google geocoder服务未使用javascript返回适当的lat和long值,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,谷歌地图没有显示确切的位置。我正在从我们的客户那里获取地址,并将向他们显示地图。我和我的google lat和long进行了交叉检查,它没有返回准确的值。这是我的密码,如果我错了,请指导我 function callMap() { var fullAddress = address + "," + city + "," + state + "," + zip; var lat_Company = ""; var lng_Company = ""; geocode

谷歌地图没有显示确切的位置。我正在从我们的客户那里获取地址,并将向他们显示地图。我和我的google lat和long进行了交叉检查,它没有返回准确的值。这是我的密码,如果我错了,请指导我

function callMap() {

    var fullAddress = address + "," + city + "," + state + "," + zip;
    var lat_Company = "";
    var lng_Company = "";
    geocoder.geocode({
        'address': fullAddress
    }, function (results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            lat_Company = parseFloat(results[0].geometry.location.lat());
            lng_Company = parseFloat(results[0].geometry.location.lng());
            var lCompanyObject = new Object();
            lCompanyObject.Name = companyDetails.CompanyName;
            lCompanyObject.Description = address + "<br/>" + city + ", " + state + "," + zip;
            lCompanyObject.FullAddress = address + ", " + city + ", " + state + "," + zip;
            lCompanyObject.Lat = lat_Company;
            lCompanyObject.Lng = lng_Company;
            displayCompany(city, state, "comp_map", "mapinfowindow", lCompanyObject, "fromSideBar");
        }
    });
    var abpoutsideBarBuilder = '<ul>' +
        '<li><div id="map_wrapper1">' +
        '<div id="comp_map1"></div>' +
        '<div id="mapinfowindow"style="display:none" ><b>#name</b><br>#description</div></div></li></ul>';
    $('.about_map_addr_businesshours').html(abpoutsideBarBuilder);
}

function displayCompany(pCity, pState, pMapDiv, mapinfowindow, lCompany, from) {
    var requestLocation = lCompany.FullAddress;
    geocoder.geocode({
        'address': requestLocation
    }, function (results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            var lat = parseFloat(results[0].geometry.location.lat());
            var lng = parseFloat(results[0].geometry.location.lng());
            if (lat != null && lng != null) {
                centerLat = lat;
                centerLng = lng;
                initDisplayMap(centerLat, centerLng, pMapDiv, mapinfowindow, lCompany, from);
            }
        } else {
            console.error("Geocode was not successful for the following reason ::" + status);
        }
    });
}

function initDisplayMap(pCenterLat, pCenterLng, pMapDiv, mapinfowindow, pCompany, from) {
    if ($("#" + mapinfowindow).length > 0) {
        var latlng = new google.maps.LatLng(pCenterLat, pCenterLng);
        var myOptions = {
            zoom: 14,
            center: latlng,
            disableDefaultUI: true,
            navigationControl: true,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };

        var map = new google.maps.Map(document.getElementById(pMapDiv), myOptions);

        var infowindow = null;
        infowindow = new google.maps.InfoWindow({});
        var LatLngList = new Array();


        var marker = pCompany;
        var markerHTML = $('#mapinfowindow').clone().html();

        if (from.indexOf("fromSideBar") != -1) {
            markerHTML = markerHTML.replace("#name", marker.Name);
            markerHTML = markerHTML.replace("#description", marker.Description);
        } else if (from.indexOf("fromAboutBar") != -1) {
            markerHTML = markerHTML.replace("#name", marker.Name);
            markerHTML = markerHTML.replace("#description", marker.Description);
        }

        if (marker.Lat != null && marker.Lng != null) {
            var myLatLng = new google.maps.LatLng(marker.Lat, marker.Lng);
            LatLngList[LatLngList.length] = myLatLng;

            var beachMarker = new google.maps.Marker({
                position: myLatLng,
                map: map,
                clickable: true,
                html: markerHTML
            });

            google.maps.event.addListener(beachMarker, 'click', function () {
                infowindow.setContent(this.html);
                infowindow.open(map, this);
            });

            var bounds = new google.maps.LatLngBounds();
            if (LatLngList.length > 1) {
                for (var i = 0, LtLgLen = LatLngList.length; i < LtLgLen; i++) {
                    //  And increase the bounds to take this point
                    bounds.extend(LatLngList[i]);
                }
                //Fit these bounds to the map 
                map.fitBounds(bounds);
                map.setZoom(map.getBoundsZoomLevel(bounds));
                map.setCenter(beachMarker.getPosition());
            }
        }
    }
}
函数调用映射(){
var fullAddress=地址+”,“+城市+”,“+州+”,“+zip;
var lat_Company=“”;
var lng_Company=“”;
地理编码({
“地址”:完整地址
},功能(结果、状态){
if(status==google.maps.GeocoderStatus.OK){
lat_Company=parseFloat(结果[0].geometry.location.lat());
lng_Company=parseFloat(结果[0].geometry.location.lng());
var lCompanyObject=新对象();
lCompanyObject.Name=companyDetails.CompanyName;
lCompanyObject.Description=address+“
”+city+“,“+state+”,“+zip; lCompanyObject.FullAddress=地址+”,“+city+”,“+state+”,“+zip; lCompanyObject.Lat=Lat_公司; lCompanyObject.Lng=液化天然气公司; 显示公司(城市、州,“公司地图”、“MapInfo窗口”、lCompanyObject、“侧边栏”); } }); var abpoutsidebuilder='
    '+ “
  • ”+ '' + “#名称
    #说明
”; $('.about_map_addr_businesshours').html(abpoutsidebuilder); } 功能显示公司(pCity、pState、pMapDiv、MapInfo窗口、lCompany、from){ var requestLocation=lCompany.FullAddress; 地理编码({ “地址”:请求位置 },功能(结果、状态){ if(status==google.maps.GeocoderStatus.OK){ var lat=parseFloat(结果[0].geometry.location.lat()); var lng=parseFloat(结果[0].geometry.location.lng()); 如果(纬度!=null&&lng!=null){ 中心车床=车床; 液化天然气=液化天然气; initDisplayMap(centerLat、centerLng、pMapDiv、MapInfo窗口、lCompany、from); } }否则{ console.error(“地理编码因以下原因未成功::”+状态); } }); } 函数initDisplayMap(pCenterLat、pCenterLng、pMapDiv、MapInfo窗口、pCompany、from){ 如果($(“#”+MapInfo窗口).length>0){ var latlng=新的google.maps.latlng(pCenterLat,pCenterLng); 变量myOptions={ 缩放:14, 中心:拉特林, disableDefaultUI:true, 导航控制:对, mapTypeId:google.maps.mapTypeId.ROADMAP }; var map=new google.maps.map(document.getElementById(pMapDiv),myOptions); var infowindow=null; infowindow=newgoogle.maps.infowindow({}); var LatLngList=新数组(); var标记=pCompany; var markerHTML=$('#mapinfowindow').clone().html(); 如果(从.indexOf(“从边栏”)!=-1){ markerHTML=markerHTML.replace(“#name”,marker.name); markerHTML=markerHTML.replace(“#description”,marker.description); }else if(from.indexOf(“fromAboutBar”)!=-1){ markerHTML=markerHTML.replace(“#name”,marker.name); markerHTML=markerHTML.replace(“#description”,marker.description); } if(marker.Lat!=null&&marker.Lng!=null){ var mylatng=new google.maps.LatLng(marker.Lat,marker.Lng); LatLngList[LatLngList.length]=我的地图; var beachMarker=new google.maps.Marker({ 职位:myLatLng, 地图:地图, 可点击:正确, html:markerHTML }); google.maps.event.addListener(beachMarker,'click',函数(){ setContent(this.html); 打开(地图,这个); }); var bounds=new google.maps.LatLngBounds(); 如果(LatLngList.length>1){ 对于(var i=0,LtLgLen=LatLngList.length;i
不要把地理编码器和其他地方弄混了

南非帕克赫斯特第六街Nakedcherry打蜡精品店

这个字符串的粗体部分显然不是地址组件

期望得到期望的结果就像我期望得到查询的位置一样,比如

莫勒博士,德国柏林

地理编码器得到的结果是南非第六街帕克赫斯特的,结果是正确的


当您使用places textsearch查找地点时,给定查询的结果将是:
-26.1437060,28.0207660

谷歌提供的任何“错误”坐标示例?你怎么知道谷歌错了而你错了呢?你从哪里得到坐标?我的代码返回latandlng值=-26.1432825,28.01771980000001。我在谷歌地图上搜索了同一个地址,从url-26.143706,28.020766中得到了latandlong。可能小数点的值不同,但在地图上,它在实际地址之前显示了三条街道。那么你的意思是,你在Maps.Google.com上搜索的特定位置的坐标与地理编码器。请确认。你是通过什么搜索得到上述结果的?我们不可能什么都猜到。我们不在你的脑子里!:)是的,随机搜索,这是我在maps.google.com Nakedcherry Waxing精品店南非帕克赫斯特第六街搜索的地址。谷歌地图显示的是确切的地址,我的代码显示的是第六街第三大道