2014-10-06 4 views
1

특정 반경 내에서 사용자 주변의 모든 도로를 강조하고 싶습니다.위도가 주어진 도로 끝에서부터 끝까지 줄을 그립니다.

도로의 위도와 길이를 구하는 방법을 알아 냈습니다. 그러나 도로 시작 지점에서부터 도로가 끝날 때까지 줄을 그리는 방법을 고민 중입니다. 상기 도로의 위도/경도 만.

countryCode:"GB" 
distance:195.450718073417 
gid:101823433 
isIn:"Portsmouth" 
lat:50.79336325 
length:58.7727976883358 
lng:-1.0940351000000001 
name:"Colpoy Street" 
oneWay:false 
openstreetmapId:12929127 
streetType:"RESIDENTIAL" 

http://services.gisgraphy.com/street/streetsearch?format=json&lat=50.7913547&lng=-1.0944082&radius=200&streettype=&distance=true

나는 도로에 '스냅'의 다양한 솔루션을 본 적이 있지만 이것은 시작과 LNG/위도 끝을 요구, 난 단지 도로 위치의 단일 위도/LNG 있습니다.

Leaflet.js/OSM을 사용하는 것을 선호하지만 맵핑 API 사용에 대해서는별로 신경 쓰지 않습니다. 이것이 가능한가?

+0

실제 문제에 대해 좀 더 자세히 설명해 주시겠습니까? [Leaflet의 빠른 시작 가이드] (http://leafletjs.com/examples/quick-start.html)에서도 간단한 모양을 그리는 방법을 설명합니다. – scai

+0

물론입니다. 그래서 나는 위도/경도를 가지고 있습니다. 도로의 전체 길이를 포함하는 선을 어떻게 그릴 수 있습니까? 줄을 그리려면 시작과 끝 (선택 사항 인 "도로 스냅"이 필요함)이 필요하지만 길 시작/끝 위도/경도를 찾는 방법을 찾지 못합니다. – Titan

+0

데이터가없는 경우 자체 라우팅 서버를 설정하고 가장 가까운 도로를 가져올 수있는 다른 방법은 없습니다. 폭 넓은 첫 번째 검색을 통해 GraphHopper를 사용하면 구현하기가 쉽습니다. (아직이 '탐험'을위한 HTTP API가 없습니다.) – Karussell

답변

3

원하는 도로 형상으로 요청에 응답하는 서버 구성 요소가 필요합니다. 프로토 타이핑의 경우 OverpassAPI을 사용하고 새 리플릿 레이어에 원하는 객체의 geoJSON 응답을 표시 할 수 있습니다.

명확한 설명 : 래스터지도 위에 도로 네트워크가있는 별도의 데이터 소스를 사용해야하므로 새 벡터 레이어를 추가해야합니다.

+0

완벽한, 정말 고마워. OverpassAPI에는 "around"스타일 조회가 있으므로 두 개의 API 중 하나를 사용할 필요가 없습니다. – Titan

관련 문제