Google Maps API-GClientGeocoder 불일치가 사용하는 위치의 위도와 경도를 찾을 수 있습니까?
-
03-07-2019 - |
문제
나는 나의 지오코더를 사용하여 일관성 코드에서는 아래와 같기 때문에"전에 위치의 위도와 경도를 찾을 수 있습니"방법이라고 저는 쇼 10 유효한 위치지만,후에 이 코드의 라인 수는 점이 실제로 표시는 매번 다른 내 검색(동일한 검색 기준을 참고)사이 5 및 10 에서 임의의..아주 이상한
사람과 유사한 문제를 이?그렇다면 어떻게 해결할까요?
geocoder = new GClientGeocoder();
geocoder.getLatLng(address, function(point) {
if (point) {
var icon = new GIcon();
var marker = new GMarker(point, { icon: icon });
GEvent.addListener(marker, 'click', function() { marker.openInfoWindowHtml(html); });
map.addOverlay(marker);
해결책 4
실제로이 불일치를 일으키는 "주소 확인"코드가 아니라 대신 맵 API가 수많은 지오 코더 호출을 원하지 않았기 때문에 각 요청과 각 요청과 간단한 225ms 타임 아웃을 추가했습니다. 이것은 속임수를했다
function preGeoCodeLookup(_xaddr, _xid, _xindex, _xhtml, _xstatus) {
addPreCount();
//don't change this timeout as it was the lowest timeout that still worked w/ the api
var timeout = parseInt(precount) * 225;
window.setTimeout(function() { geoCodeLookup(_xaddr, _xid, _xindex, _xhtml, _xstatus); }, timeout);
}
다른 팁
본 적이에서 나 ASP.NET app.나는 나의 유효성을 검사 주소를 표시하기 전에 그들고
일부의 주소가 잘못되었습니다.
자신의 주소를 검증할 수 있는 시스템만을 일정 금액을 처리한 요청의 모든 호출에 의해 클라이언트입니다.
그것이 더 좋을 제거한 주소기 전에 지오코딩(IMO).
도 확인하는 귀하의 주소 또는 제한 금액의 주소 보내는 테스트는 볼 경우에는 연속적인 모든 요청을 합니다.
는 희망 도움이 됩니다.
이렇게 시도해보십시오. 이와 같이 한 번의 달리기로 34 점 이상을 얻습니다.
function addAddress(address,runde) {
geocoder.getLatLng(
address,
function(point) {
if (!point) {
//alert(address + " not found");
if (runde<5) { // rekursiv, try adress 5 times to get
window.setTimeout(function() {addAddress(address,runde+1);}, 1000); // wait 1 second bevor next try
}
} else {
var marker_add = new GMarker(point);
//alert(marker.getLatLng());
leftClick(0, marker_add.getLatLng()); // function, add marker to map
}
}
);
}
나는 무엇을 확실하지 않습니다 addPreCount()
하다. 그러나 타임 아웃이 인덱스에 실제 시간 초과 상수를 곱한 것과 같은 것이 분명하다고 생각합니다.
따라서 정의 된 시간 초
var timeout = [index_of_each_xaddr] * 225;
window.setTimeout(function() { geoCodeLookup(_xaddr, _xid, _xindex, _xhtml, _xstatus); }, timeout);
제휴하지 않습니다 StackOverflow