2010-12-05 2 views
1

Google지도 API를 사용하여 위치 기반 검색이있는 데이터베이스가 있습니다. 그러나 Google지도가 이들을 호주 중심에 위치시키고 호주의 대부분의 인구 센터가 해안에 있기 때문에 호주의 주 또는 테리토리로 검색하는 것은 문제가됩니다.Google지도를 사용하는 데이터베이스의 오스트레일리아/테리토리의 위도/경도 좌표

위도와 경도로 코드를 전달해야합니다. 예를 들어 누군가 'NSW'상태를 검색하면 관련 결과가 반환됩니다. 누구든지 데이터베이스에 코드화 할 호주 영토 & 지역의 경계 좌표 목록을 어디에서 찾을 수 있는지 알고 있습니까?

이렇게하면 바쁜 프로그래머가 많은 시간을 절약 할 수 있습니다. 미리 감사드립니다.

답변

0

오스트레일리아 주 경계를 OpenStreetMap으로 XML 파일로 다운로드 할 수 있습니다. data license은 파생물을 공유하도록 요구합니다.

+0

감사합니다. 이러한 솔루션 중 하나가 문제를 해결할 수 있기를 바랍니다. – RMW

0

실제로지도를 중앙에 놓고 자하는 주 및 관련 latlong의 이름을 가진 자바 스크립트 배열을 실제로 가질 수 있습니까?

누군가 NSW를 찾으면 -33.833578,151.190872를로드합니다.

function initialize() { 
    var myLatlng = new google.maps.LatLng(-33.833578,151.190872); 
    var myOptions = { 
     zoom: 8, 
     center: myLatlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
    } 

도움이되는지 알려주세요. 내가 애들레이드에있어 같은 그렇지 않으면 :

건배,

아이브스을 나에게 연락 할 수

+0

개발자에게 물어볼 것입니다 (전 애들레이드 btw입니다). – RMW

2

I라는 개발자 해요 - 나는 우리가 마지막으로이 기능을 구현하기 위해 무엇을했는지에 대해 이야기해야한다고 생각 :

실제로 사용되는 것을 명확히하기 위해이 데이터베이스는 지리적 위치가있을 수있는 이벤트를 검색하기위한 것입니다.

처음에 나는이 무료지도 데이터를 발견했습니다 : https://www.ga.gov.au/products/servlet/controller?event=GEOCAT_DETAILS&catno=60803.

그러나 데이터를 사용하기가 어려웠으며 Google지도의 내지도 기능 (RMW가 수행 한 기능)을 사용하여 각 주에 대한 기본 윤곽을 간단히 생성하기로 결정했습니다.

다음으로 PNPOLY 함수의 pl/sql 구현을 만들고 PNPOLY 함수를 실행하여 각 이벤트의 위도와 경도를 내 개요에서 내 보낸 상태 윤곽선과 비교하고 이벤트 만 반환하도록 검색 코드를 작성했습니다. 경계 내에서. 때문에 상태가 설명의 낮은 해상도로 2 주 때때로 잘못된 상태에있는 것으로 보였다 타협과 국경에

  • 도시/도시 :

    이 2 주 문제가 있었다.
  • 구현이 비효율적/부적절하다는 우려가 있습니다 (perf 테스트는 수행되지 않았 음).

그 구현은 아마도 첫 번째 문제를 제외하고는 제대로 작동했을 것입니다. 마을은 잘못된 상태로 나타났습니다.

현재 구현은 훨씬 더 간단한 해결책 대신 PNPOLY 기능을 포기 :

  1. 내가 이벤트 테이블에 부울 열을 추가 - 하나를 호주의 각 주/준주를 위해.
  2. 이벤트가 지오 코딩 된 경우 Google지도 API 결과에서 상태 이름을 가져온 다음 상태 이름 목록과 비교합니다. 일치하는 경우 해당 상태에 대한 플래그를 TRUE로 설정합니다.
  3. 검색 할 때 상태 제한은 단순히 WHERE in_wa = TRUE (서호주 내에서 이벤트를 검색하는 경우)가됩니다.
  4. 플래그가 설정되지 않은 기존 이벤트를 이전하려면 PNPOLY 코드를 낭비하고 싶지 않았으며 요청에 따라 Google지도를 망치고 싶지 않았으므로 PNPOLY 검사를 실행하기 위해 마이그레이션을 작성했습니다 각 이벤트에 대해 올바른 플래그를 설정하십시오. 이로 인해 위의 동일한 문제로 인해 현재 상태가 잘못된 상태로 설정되었지만 향후 이벤트에 영향을주지는 않습니다.

http://collectiveaction.com.au/events에서 동작을 볼 수 있습니다. - 상태 드롭 다운에서 '검색 결과 업데이트'를 클릭하십시오.

0

나는 내 요점을 공유하고있다 : XML of state polygons. 그러나 일부 주에서는 이 많고 점이 많으며 상태와 일치해야 할 경우 성능이 저하 될 수 있습니다. 간단한 버전을 원할 경우이 tool을 사용하여 직접 다각형 좌표를 생성 할 수 있습니다.

누군가의 고통을 해결하는 데 도움이되기를 바랍니다.

관련 문제