it-swarm-korea.com

지도에 정확하지 않은 위치를 표시하려면 어떻게해야합니까?

사용자가 해당 지역에서 다른 사람을 찾을 수 있도록 GMap을 사용하고 있습니다. 하지만 사용자가지도에서 도시와 우편 번호를 사용할 수 있도록 개인 정보를 보호 할 수 있지만 메일 링 목적으로 데이터베이스에 전체 주소를 그대로두고 싶습니다. 어떻게 할 수 있습니까? 지도에서 핀의 위치는 위치가 매우 정확할 수 있으므로 도시와 우편 번호만을 기준으로해야합니다.

예를 들어, 대통령이 우리 사이트에 등록했다고 가정 해 보겠습니다. 그는 전체 주소 1600 Pennsylvania Ave NW, Washington D.C., DC 20500)를 입력합니다. 이제 관리자가이를 조회하여 뉴스 레터를 우편으로 보낼 수 있습니다.

D.C. 지역의 또 다른 사용자가 만날 사람을 찾고 있습니다. 그들은 사용자 POTUS를 위해지도에서 핀을보고 봅니다. 핀을 클릭하면 부분 주소 인 Washington DC, DC 20500) 만 표시됩니다. 핀의 위치가 정확하지 않아 사용자가 정확한 주소를 알 수 없습니다. 그러나 사용자가 자신이 근처에 있다는 것을 알고 있으면 충분하므로 사용자에게 사용자 메시지를 보내 연락을 취합니다.

정확하지 않은 핀 위치에 대한 모든 솔루션이 좋습니다. 약간 무작위 화 된 경우. 또는 우편 번호의 모든 핀이 "20500 지역의 사용자 수"에 대한 링크가있는 하나로 그룹화되어 사용자를 전체 목록으로 안내합니다.

이것이 GMap이 아닌 다른 것으로 할 수 있다면 괜찮습니다.

7
Rob Mosher

비슷한 문제가 있었는데 이것이 해결 방법입니다.

  1. 콘텐츠 유형에 다른 '위치'필드를 추가하십시오. 예를 들어 '공개 사용자 위치'라고 부릅니다.
  2. 사용자 정의 모듈을 빌드하고 hook_form_alter() 구현에서 사용자가 편집 할 수 없도록 새 위치 필드를 숨 깁니다.
  3. 이제 첫 번째 위치에 대해 '정확하지 않은'위치를 가져와야합니다. Google 지오 코드로이 작업을 수행합니다.

첫 번째 위치가 설정되었을 때 JavaScript를 통해 수행하거나 (임신 방식) 지리적 위치를 수행하는 것은 사용자에게 달려 있습니다 . 양식이 제출 될 때 '수동으로'추가하려면 '정확하지 않은 '위치.

부분 주소에 지오 코드를 사용하는 경우 Google Geocode는 검색 한 영역의 중앙에 좌표를 제공합니다.

보다 구체적인 지오 코딩을 위해 Geonames API 를 사용할 수도 있습니다.

두 번째 방법을 선택하면 (양식이 제출 될 때 '정확하지 않은'위치 생성) 위치 생성에 도움이 될 수 있습니다. Drupal에서 프로그래밍 방식으로 노드 생성) (cck 및 위치 필드 포함) .

참고로, 내 요구 사항이 약간 복잡하고이 모듈에 맞지 않았기 때문에 더 이상 Gmap 모듈을 사용하지 않습니다. 문제가있을 경우 Google API v3를 사용하여 자신 만의 작은 모듈을 구축하는 것이 좋습니다.

예를 들어 Google 위치 찾기와 마찬가지로 주변에 원이있는 '공개 위치'를지도에 표시 할 수 있습니다.

6
Strae

지도상의 해당 핀은 우편 번호의 중심 (일반적으로 기하학적 중심)이 될 것입니다 (단일 건물만을 나타내는 우편 번호와 같은 몇 가지 예외는 제외).

또는 우편 번호의 모든 핀이 "20500 지역의 사용자 수"에 대한 링크가있는 하나로 그룹화되어 사용자가 전체 목록으로 이동합니다.

이것은 20500 우편 번호의 중앙에 20 개의 핀을 서로 겹쳐 놓는 것보다 더 나은 솔루션입니다.

1
Tangurena