Google geocoder服务未使用javascript返回适当的lat和long值
谷歌地图没有显示确切的位置。我正在从我们的客户那里获取地址,并将向他们显示地图。我和我的google 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
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精品店南非帕克赫斯特第六街搜索的地址。谷歌地图显示的是确切的地址,我的代码显示的是第六街第三大道