sourcecode

오픈레이어스 vs 구글맵?

copyscript 2023. 10. 11. 20:53
반응형

오픈레이어스 vs 구글맵?

구글 지도를 몇 번 사용해 보았지만 오픈레이어스에 대해서는 무엇이 궁금합니다.
몇 .

  • Google 지도 대신 OpenLayer를 사용하는 이유는 무엇입니까?
    • 어쨌든 OSS 라이선스를 제외하고는
    • OpenLayer를 사용하지 않는 것을 절대적으로 권장하는 상황이 발생했습니까?
    • 스택 오버플로에서 "Open Layers"에 대해 검색했는데 답이 많지 않습니다.이 솔루션은 많이 사용되지 않는다는 뜻입니까?프로젝트의 장기적인 실행 가능성에 문제가 될 수 있습니까?
  • 이미 OpenLayer를 사용해 보신 분들께: 제가 직면할 수 있는 일반적인 함정/문제가 있습니까?
    • 자바스크립트 프레임워크를 함께 사용해 보는 건 어떨까요?프로토타입을 사용하는 것을 보았고 프로토타입을 알고 있으므로 괜찮을 것입니다.하지만 MooTools와 같은 다른 것을 사용하는 것은 어떨까요? (Prototype과 호환되지 않는 BTW)
    • 속도와 성능에 관련된 문제가 있습니까?애플리케이션이 응답성이 있어야 하고 지도가 표시될 때까지 몇 시간을 기다릴 수 없습니다.
  • 여러 곳에 지도가 있나요, 아니면 빠진 지도가 많이 있나요?
    • 프랑스에 있는데 제 애플리케이션이 적어도 대도시에서 작동하려면...그거면 되나요?
    • 그렇지 않다면 OpenLayer에 대한 계층 및 시각화를 쉽게 찾아 통합할 수 있습니까?
  • 도로를 표시할 수 있는 API 종류가 있습니까?
    • 예를 들어, 일방통행인 도로를 보여주는 것입니다.
    • 만약 그렇다면 어떻게 해야 합니까?그 도로 정보가 담긴 파일을 가지고 있다가, 제가 직접 지도에 표시해야 하나요?
  • 오픈레이어스에 대한 좋은 튜토리얼을 알고 계십니까?

아직 안 해봤어요. 뜬금없는 질문들인데...

이것들은 정말 멋진 질문들입니다!저는 전문적인 OpenLayer 개발자이자 팬이기 때문에 그런 관점에서 질문을 해결해 드리겠습니다.

Google 지도 대신 OpenLayer를 사용하는 이유는 무엇입니까?

  • 유연성:특정 지도 공급자나 기술에 얽매이지 않습니다.언제든지 변경할 수 있으며 전체 코드를 다시 작성할 필요가 없습니다.Google, Yahoo, Microsoft, WMS, ArcGIS Server, MapServer 등이 즉시 지원됩니다.
  • 벡터 지지: 점, 폴리선 및 폴리곤을 더 잘 지지합니다.
  • 컨트롤:필요한 새로운 기능을 추가할 수 있습니다.OpenLayer용 플러그인을 세 개나 직접 작성했는데, 그 중 두 개는 소스이거나 소스의 일부가 될 것입니다.
  • 디버깅:소스 코드를 확인할 수 있을 때 디버그하기가 훨씬 쉽습니다!

저는 그 프로젝트의 장기적인 실행 가능성에 대해 전혀 걱정하지 않을 것입니다.이 라이브러리는 최고의 오픈 소스 클라이언트 측 매핑 라이브러리입니다.

내가 마주칠 수 있는 흔한 함정/문제가 있습니까?

  • 제가 만난 가장 큰 함정은 웹 메르카토르(Google) 프로젝션과 함께 일하는 것입니다.구글, 야후, 마이크로소프트 베이스 맵을 이용하여 오픈레이어스 맵에 WGS 84와 같은 공통적이고 실제적인 프로젝션에 있는 벡터 데이터를 표시하는 것은 불편할 수 있습니다.그 예는 당신의 친구입니다.

자바스크립트 프레임워크 호환성

  • 저는 제 모든 작업에 jQuery 프레임워크를 사용하는데, 유일한 문제는 OpenLayer 다음에 jQuery를 참조하는 것입니다.그 외에는 항해가 순조로웠습니다.
  • 성능이 좋습니다.유일한 문제는 지도 서버 또는 지도에 벡터를 너무 많이 추가하는 것입니다.

여러 곳에서 이용 가능한 지도가 있습니까?

  • 말씀드린 것처럼, 전 세계 어디에서나 거의 모든 소스의 베이스 맵을 사용할 수 있습니다.

도로를 표시할 수 있는 API 종류가 있습니까?

  • CloudMade를 확인해 보겠습니다.OpenStreetMap 프로젝트를 지도 타일 서비스로 전환하여 맞춤형 스타일링이 가능합니다.저는 여러분이 특정한 방식으로 일방통행을 할 수 있다고 생각합니다.클라우드 메이드 개발자 구역.

오픈레이어스에 대한 좋은 튜토리얼을 알고 계십니까?

이것이 유용했으면 좋겠습니다.궁금한 게 있으면 스택 오버플로 근처에 있어요!

이것은 반드시 오픈레이어스나 구글 맵의 문제는 아닙니다.결국 Google 지도를 Open Layer에서 지도 배경으로 사용할 수 있습니다.보다 구체적인 답변:

오픈레이어스를 선택해야 하는 이유

  • OpenLayer는 서로 다른 소스의 맵(Google 지도 배경, WMS 오버레이, KML 또는 GML 파일의 벡터 데이터 또는 WFS 등)을 결합할 수 있습니다.
  • Google Maps보다 훨씬 더 OpenLayer 스타일을 지정할 수 있습니다.
  • 오픈소스, 디버깅시 소스코드를 확인할 수 있습니다.
  • 지도에서 높은 정밀도가 필요한 경우 Google Maps보다 적합한 지도 서버 백엔드가 있는 OpenLayer를 사용하여 지도 투영도를 개선합니다(Google Maps는 지구가 완벽한 구라고 가정함).

함정

  • 사이트 간 스크립팅 제한으로 인해 다른 서버의 벡터(WFS) 데이터를 사용하려면 프록시가 필요합니다.

성능

  • 주로 지도 백엔드의 속도에 따라 달라집니다.
  • 많은 벡터 기능을 표시하는 데 시간이 걸리지만(한 보기에 200 이상이라고 표시) OpenLayer의 문제라기보다는 브라우저의 문제입니다.

자바스크립트 프레임워크

  • 예를 들어, GeoExt를 살펴봅니다. 예를 들어, ExtJS + OpenLayer입니다.

사용가능 지도

  • 오픈레이어스는 지도 백엔드와 함께 제공되지 않습니다.당신은 구글 지도, 야후 지도, MS 버추얼 어스 등을 사용할 수 있고, 또는 당신이 접근할 수 있는 모든 WMS와 WFS 서비스를 사용할 수 있습니다.

SO에서 OpenLayer 사용자들의 존재감을 많이 보지 못했지만, 그들은 거기에 있습니다.OpenLayer 메일링 목록은 꽤 활성화되어 있습니다(Users and Dev를 사용하고 있으며 하루에 50-100개의 이메일에서 다양한 내용을 확인할 수 있습니다).해당 링크에서도 목록을 검색할 수 있습니다.)

모든 질문에 답할 수는 없지만 한 가지 말씀은 오픈레이어스와 구글맵은 상호 배타적이지 않다는 것입니다.오픈레이어스는 자바스크립트 라이브러리로 구글 맵과 상호작용하는 데 사용할 수 있습니다.구글 맵을 사용하여 계층을 엽니다.다음은 주요 OpenLayer 예제 페이지입니다.

지도를 어떤 용도로 사용할 것인가에 따라 다릅니다.단순히 지도에 점을 표시하기 위해서는 구글 지도가 괜찮을 것입니다.구글 지도의 지도 레이어도 꽤 상세합니다.반면에 OpenLayer는 훨씬 더 많은 기능을 제공하며 매우 확장성이 뛰어납니다.

OpenLayer에는 시작할 수 있는 많은 예가 있습니다.

맵의 경우 OpenLayer는 API일 뿐이므로 맵 레이어를 제공해야 합니다.구글 지도 API는 구글에서 제공하는 지도 레이어로 제한됩니다.OpenLayer를 사용하면 공개적으로 사용 가능한 거의 모든 지도 서비스(WMS, WFS, TMS, WMS-C)를 표시할 수 있습니다.아주 좋은 예로 openstreetmap.org - (커뮤니티가 수집한 세계 거리 지도)가 있습니다.오픈 레이어에는 TMS 레이어로 OSM을 추가할 수 있습니다.지침은 이 를 확인하십시오.

여기서 완전히 이루어지지 않은 한 가지 점은 OpenLayer를 사용하면 Google이 맵 API에 대한 서비스 조건에 부여하는 다음과 같은 다양한 제한을 피할 수 있다는 것입니다.

  • Google 지도는 사용자 사이트의 일부 영역에서만 사용하거나 일반인이 가입할 수 없는 개인 사이트(예: 회사 인트라넷)에서는 합법적으로 사용할 수 없습니다.(IANAL, 단 서비스 약관, 9.1FAQ 참조)

  • 오프라인 응용 프로그램(즉, 자신의 기계에서 타일이 제공되는)에 Google API를 법적으로(또는 실질적으로) 사용할 수 없습니다.법적 제한이 없더라도 구글은 기술적으로 이를 매우 어렵게 만드는 반면, 오픈레이어스는 쉽게 만듭니다.

  • 구글은 사용자가 이의가 있다고 판단되는 내용이 포함된 지도를 보여줄 경우 API에 대한 접근을 종료할 수 있는 권한을 보유하고 있습니다.FAQ에 제시된 예는 불법 약물 지도로, 이 제한이 적용할 수 있는 회색 영역을 잘 파악할 수 있습니다.

자세한 내용은 본 FAQ서비스 약관을 참조하십시오.

하지만 최근에 오픈레이어스를 사용하기 시작한 오랜 구글 맵스 개발자로서 구글 맵스는 오픈레이어스보다 더 나은 문서화, 더 큰 사용자 커뮤니티, 그리고 더 명확하고 안정적인 API를 가지고 있다고 생각합니다.그래서 당신은 어딘가에서 거래를 해야 합니다.

저는 모든 답변에 동의하지만, 아무도 언급하지 않는 매우 중요한 점이 있습니다.오픈레이어스와 구글맵은 타깃이 다릅니다.

OpenLayer는 지오데이터를 표시할 수 있는 훌륭한 프레임워크이지만 Google Maps는 다른 서비스 중에서 지오데이터를 표시할 수 있는 프레임워크를 포함하는 서비스 풀입니다.

그래서 Google Maps는 OpenLayes가 가지고 있지 않은 많은 서비스와 기능을 노출합니다.구글 지도 기능과 서비스의 일부 예로는 지역 지역화, 센서 감지(GPS가 있는 장치의 경우) 및 사용자 지역화, 지오코딩 및 역 지오코딩, 스트리트 뷰 등이 있습니다.

일부 고객은 구글 지도 사용을 거부하거나 강력한 예약을 할 수 있습니다.구글이 예고 없이 광고를 도입하거나 API를 변경할 수 있다는 타당한 우려가 있을 수 있습니다.그러나 Google 지도는 다른 Google 서비스(장소 표시, 사진 추가, 지오코딩 서비스)와 통합할 수 있는 이점이 있습니다.웹이기 때문에 다양한 매핑 서비스와 API를 항상 조합할 수 있습니다.

저는 두 가지 API를 모두 사용해 보았습니다.저는 기업용 소프트웨어를 만들고 이 소프트웨어는 매핑이 필요하지만 모든 클라이언트가 Google 지도 라이센스를 가지고 있는 것은 아니기 때문에 두 가지 유형의 지도를 모두 지원해야 합니다.

그들 사이의 차이점을 추상화하기 위한 공통 API를 만들었고 어떤 것들은 다른 것들보다 더 쉽게 할 수 있습니다.지도를 이동할 수 있는 범위를 제한하는 것과 마찬가지로 OpenLayer에서는 훨씬 더 쉽게 수행할 수 있지만 Google 지도에서는 히트맵을 사용하기가 더 쉽습니다(사용 가능한 OpenLayer 플러그인과는 달리 Google에서 공식적으로 지원됨).

  1. OpenLayer는 오프라인 맵을 지원합니다.내 사용자 중 일부는 인터넷 연결이 되지 않은 개인 인트라넷에 있습니다.

  2. 구글맵에는 반드시 두 개의 플러그인이 있어야 합니다. MarkClusterSpiderfier는 엄청난 숫자의 마커를 시각화할 수 있습니다.

  3. Google 지도 정보Windows(윈도우)는 Open Layer(오픈 레이어)보다 사용하기 쉽고 사용성이 뛰어납니다.팝업.마커를 클릭하면 열릴 수 있는 작은 창들입니다.Googlemaps InfoWindows도 기본적으로 훨씬 더 예쁘기 때문에 팝업으로 CSS 마법을 수행해야 합니다.

  4. 구글맵에는 가끔 유용한 스트리트뷰가 있습니다.

  5. Google 지도에는 필요한 기능이 더 많습니다.OpenLayer에도 많은 기능이 있지만 공식적으로 지원되지는 않습니다.

일반적으로 라이센스 및 구글 맵의 사용으로 인해 발생할 수 있는 두통이 줄어들기 때문에 결국에는 OpenLayer를 선택해야 합니다.둘 다 기본 매핑(즉, 지도 위에 마커 표시)을 매우 잘 처리합니다.다른 기능에 없는 기능에서 필요한 특정 기능을 찾을 수 없는 경우에는 OpenLayer를 선택해야 합니다.구글맵 과금에 대한 자세한 내용과 언제 무료로 사용할 수 있는지는 이 항목을 참조하십시오.

또한 구글맵은 기본 지리 위치 타입이 'LatLng'이고 오픈레이어스는 'LonLat'을 사용하는데, 함수 호출에서 매개 변수의 순서를 계속 잘못 알고 있기 때문에 미칠 것 같습니다.

속도 문제를 언급한 분들 외에도 IE의 VML 렌더러는 많은 기능을 가진 벡터 레이어를 사용하면 매우 느려질 수 있다는 점을 덧붙이고 싶습니다.한 사용자는 200개 정도를 언급했습니다.IE가 얼만큼 느려지기 전에 바로 추가할 수 있는 내용입니다.텍스트 레이블인 피쳐를 추가하면 내부적으로 각 텍스트 레이블이 두 개의 VML 요소로 구성되어 있기 때문에 절반만 추가할 수 있습니다.

구글에서는 IE에서 문제없이 렌더링되는 "div"를 내용으로 하는 사용자 지정 GOverlay를 만들 수 있습니다.

클라이언트 사용과 데이터 파생이라는 두 가지 관점에서 몇 가지를 추가하고자 합니다.

클라이언트 사용량:

  • 고객님들은 현재 어떤 것을 사용하는 데 익숙하십니까?변화는 어려울 수 있습니다.
  • 실제로 필요한 기능은 어느 정도입니까?오픈레이어스는 꽤 많이 가지고 있지만 사용하지 않는다면...

데이터 서빙:

  • KML 데이터를 제공하고 있습니까?그렇다면 OpenLayer와 Google Maps 모두 이 기능을 사용할 수 있으며 클라이언트 사용량에 따라 결정해야 할 것입니다.

  • 다른 종류의 데이터 서비스를 제공하고 있습니까? (WMS, WFS, CSV 등)그렇다면 OpenLayer에는 이에 대한 예시와 지원이 있을 가능성이 높습니다.

OL은 대규모 팬층을 보유하고 있으며 아마도 전 세계에서 가장 많이 사용되는 오픈소스 지오팅일 것입니다.

여기 사람들이 OL이 스트럿과 같아서가 아니라 JSF와 모바일(nongeo)과 같은 다른 종류의 기술에 대해 논의하는 경향이 있기 때문에 이 사이버 플레이스에서 많은 스레드와 게시물을 볼 수 없습니다.

그러나 Ol은 몇 가지 단점이 있는데, 주로 레벨이 너무 낮아서 일반적인 작업을 수행하려면 코드를 많이 작성해야 합니다.이는 개발자로서 모든 코드를 미리 준비하고 있기 때문에, b: 조정 및 커스터마이징이 매우 쉽기 때문에 좋은 방식으로 작동할 수도 있습니다.

더 정교한 무료 지오툴들이 있지만, 그들이 하는 것은 개방적인 층을 부르고 더 지루한 집안일들 중 일부를 추상하는 것뿐입니다.

당당히 써주세요.그것은 성숙하고 견고하며 예측할 수 있는 미래에 죽지 않을 것입니다.그러나 개발 프로세스의 속도를 높이고 싶다면, 개발 프로세스의 맨 위에 탑재되는 다른 툴을 사용해 보아야 합니다.

좋은 하루 되세요.

언급URL : https://stackoverflow.com/questions/1237187/openlayers-vs-google-maps

반응형