이제 Google Maps에서도 시크릿 모드 (Incognito mode)를 만나보세요

구글이 올해 초 개인정보 보호를 위해 신규 기능을 출시한데 이어, 사용자들이 이 기능들을 좀 더 쉽게 사용할 수 있도록 업데이트 한 내용을 10월 2일 블로그에 발표하였습니다.

이 중 Google Maps에 추가된 Incognito mode 기능에 대해 알아보겠습니다.

일명 ‘시크릿 모드’로 익숙한 이 기능은 구글이 2008년 크롬에 출시한 이후로 가장 인기 있는 개인정보보호 관련 기능입니다.  구글은 올해 초에 이 기능을 YouTube에 적용한데 이어, 이번에 Google Maps에도 이 기능을 탑재했습니다.

사용자가 구글맵 앱에서 Incognito mode를 켜면, 검색한 장소와 같은 맵 내에서의 활동 내역은 구글 계정에 저장되지 않고 사용자의 경험을 맞춤화 시키는 데에도 사용되지 않습니다. 사용자는 우측 상단의 프로필 사진을 클릭하면 나타나는 메뉴에서 Incognito mode를 선택함으로써 쉽게 이 기능을 켤 수 있고, 식당 추천, 통근과 관련한 정보, 그리고 사용자에게 맞춤화된 다른 기능들을 사용하고 싶다면 언제든지 끌 수 있습니다.

Incognito mode는 10월에 안드로이드에 출시될 예정이며, iOS에서도 곧 만나볼 수도 있다고 합니다.

 

원문 : Keeping privacy and security simple, for you

 

SPH는 CARTO, Google Maps, SuperMap 등 다양한 케이스에 적용될 수 있는 다채로운 제품군을 보유하고 있으며 고객의 사례에 꼭 맞는 무료 세미나 및 개별 컨설팅을 제공하고 있습니다. 각 케이스에 맞춰 더욱 자세한 이야기를 나누고 싶으시다면 여기에서 문의 주시길 바라며, SPH에서 발행하는 GIS/로케이션 인텔리전스 관련 최신 소식을 받아보고 싶으신 분들은 페이스북 페이지 또는 뉴스레터를 구독해 주시길 바랍니다. 감사합니다.

구글 지도 플랫폼과 deck.gl을통한고성능데이터시각화

지난 5, 구글맵의 엔지니어링 담당자 Travis McPahil Google I/O에서 구글 지도 플랫폼의 성능과 확장성에 대한 강연을 통해 deck.gl 대한 Maps JavaScript API 지원을 발표했습니다. 발표 이후, 세계의 개발자들과 deck.gl 가능성과 deck.gl 상의 지도에 무엇을 가져다 있는지에 대해 이야기를 나누었고, 열광적인 반응을 얻을 있었습니다. 이번 포스팅에서 deck.gl에 대해 자세히 설명해 드리겠습니다.

 

deck.gl이란?

vis.gl 프레임워크 제품군의 일부인 deck.gl은 웹에 다양한 고성능의 아름다운 데이터 시각화를 제공하는 오픈 소스 프레임워크입니다. 다음은 deck.gl 문서에서 제공하는 프레임워크에 대한 간단한 요약입니다.

  • 대용량 데이터 세트 및 고성능 업데이트를 처리
  • 선택과 같은 대화형 이벤트 처리
  • 지도 투영 및 기본 지도와의 통합
  • 테스트를 거쳐 검증된 레이어
  • 쉬운 새 레이어 생성 및 기존 레이어 편집

 

deck.gl인가요?

많은 웹 개발자가 데이터를 시각화할 때 직면하는 문제 중 하나는 매우 큰 데이터셋을 렌더링하는 방법입니다. 개발자들은 수백 개의 데이터 포인트가 아니라, 수만 개 또는 수십만 개, 심지어 수백만 개를 렌더링 할 때도 있다고 합니다.

JavaScript는 단일 스레드 이벤트 루프 모델이기 때문에 대량의 데이터를 처리하고 3D 그래픽을 렌더링하는 데 필요한 헤비 컴퓨팅 종류에는 일반적으로 적합하지 않습니다. 이를 극복하기 위해 deck.gl은 사용자의 컴퓨터에서 GPU에 비동기적으로 액세스할 수 있는 WebGL 라이브러리를 사용합니다. 간단히 말해, 이는 모든 무거운 리프팅이 브라우저에서 벗어나 이러한 유형의 작업에 더 적합한 하드웨어로 이동된다는 것을 의미합니다. 그 결과 수백만 개의 데이터 포인트를 빠르게 시각화할 수 있습니다

 

deck.gl 어떻게 작동하나요?

deck.gl Maps JavaScript API에서 제공하는 OverlayView를 활용하여 시각화를 지도 상단에 레이어로 렌더링합니다. 이렇게 하면 사용자가 검색 및 확대/축소하는 동안에도 기본 맵과 deck.gl 시각화 계층을 자동으로 동기화할 수 있으므로 사용자에게 익숙한 완전한 대화형 맵 환경을 제공할 수 있습니다.

deck.gl의 계층 기반 접근 방식을 사용하면 지도 위에 여러 시각화를 추가하여 복합적인 효과를 만들 수도 있습니다. 다음은 두 개의 데이터 세트를 별도의 산점도 레이어(Scatterplot Layer)로 렌더링하여 단일 시각화를 생성하는 작업 사례입니다.

 

 

deck.gl은 또한 계층 속성 및 데이터의 변경 사항을 기반으로 시각화를 빠르게 업데이트할 수 있는 반응형 프로그래밍 모델을 사용합니다. 이는 애니메이션 데이터도 볼 수 있음을 뜻합니다! 다음은 지도 JavaScript API 경로 서비스에서 반환한 경로의 예이며, deck.gl Trip Layer를 사용하여 애니메이션합니다.

 

 

어떻게 시작하나요?

deck.gl을 활용한 Maps JavaScript API의 샘플을 보시려면 예제 deck.gl 설명서를 확인하여 프레임워크를 숙지합니다. 또한 GitHub에서 예제 앱의 소스와 개별 계층에 대한 별도의 독립 실행형 예제를 찾을 수 있습니다. deck.gl 팀은 또한 여기에서 일반적인 성능 기대치와 최적화 기술에 대한 훌륭한 글을 보실 수 있습니다.

 

원문: https://cloud.google.com/blog/products/maps-platform/high-performance-data-visualizations-google-maps-platform-and-deckgl

 

SPH는 CARTO, Google Maps, SuperMap 등 다양한 케이스에 적용될 수 있는 다채로운 제품군을 보유하고 있으며 고객의 사례에 꼭 맞는 무료 세미나 및 개별 컨설팅을 제공하고 있습니다. 각 케이스에 맞춰 더욱 자세한 이야기를 나누고 싶으시다면 여기에서 문의 주시길 바라며, SPH에서 발행하는 GIS/로케이션 인텔리전스 관련 최신 소식을 받아보고 싶으신 분들은 페이스북 페이지 또는 뉴스레터를 구독해 주시길 바랍니다. 감사합니다.

구글 지도 플랫폼 최고로 활용하기: 성능 최적화 팁

데스크톱 브라우저든 모바일 웹이든, 사용자들은 이제 부드럽고 빠른 UI 성능을 자랑하는 앱에 익숙해져 있습니다. JavaScript 개발자들이 성능 최적화에 더욱 신경써야 한다는 뜻이죠. 지도나 위치 기반 서비스를 제공하는 앱도 예외가 아닙니다. 이번 포스팅에서는 성능 최적화를 위한 몇 가지 팁을 알려드리겠습니다.

 

커스텀 오버레이 사용하기

커스텀 오버레이를 사용하면 사용자가 지도를 확대/축소할 때, 지도와 함께 이동하는 커스텀 지리공간 데이터를 지도 상단에 렌더링할 수 있습니다. 많은 개발자들이 마커와 같은 데이터를 지도에 올리기 위해 이 방법을사용하고 있습니다. 이 작업은 OverlayView.draw()에서 수행됩니다:

이는 사용자 지정 맵을 구축하는 데 매우 유용합니다. 하지만 방법으로는 사용자가 맵을 확대할 때마다 베이스 맵을 다시 그리고, OverlayView.draw()를 호출하여 오버레이된 콘텐츠를 다시 그려야합니다. 지도를 다시 그리는 동시에 코드가 실행되어 전체 지도 환경에 오류가 발생할 수 있기 때문에, 커스텀 오버레이를 만들거나 업데이트 하는 로직이 계산하기 어렵거나 차단된 경우 고려해야할 사항입니다. 또한 draw()에 필요한 코드만 실행해야 합니다. 렌더링을 실제로 실행하는 데 필요하지 않는 모든 작업은 가능한 가벼운 호출을 유지하기 위해 사전에 수행해야합니다.

아래는 지도 렌더링과 동시에 렌더링을 오버랩하는 커스텀 오버레이의 예시입니다.

또 다른 팁: 지도가 정지해 있을 때만 내용을 추가하거나 제거하여 더 나은 사용자 환경을 만들 수 있습니다. 가장 좋은 방법은 dragdragend와 같은 이벤트를 활용하여 지도를 다시 그리는 동안 커스텀 오버레이를 변경하지 않도록 하는 것입니다. 지도에서 마커를 추가하거나 제거할 때도 마찬가지입니다.

다음은 사용자 상호 작용이 완료될 때까지 기다리는 경우의 예시입니다:

훨씬 나아졌네요! 지도의 성능이 향상되었을 뿐 아니라 사용자가 패닝을 중지할 때 마커만을 렌더링함으로써 사용자 환경을 향상시켰음을 알 수 있습니다.

 

마커 이용하기

빠른 실행을 유지하면서 지도에 데이터를 추가할 수 있는 또 다른 방법은 마커를 사용하는 것입니다. 마커는 지도의 위치를 식별하는 데 쓰입니다. 기본적으로 지도에 추가된 마커는 빨간색 핀이지만, 사용자 지정 이미지를 사용할 수도 있습니다. 마커의 활용법을 살펴보겠습니다.

아래 예시에서는 경계 상자 내에 1,000개의 지오코드를 생성했습니다.

다음으로, 마커를 생성하여 지도에 추가했습니다. svg로 마커를 커스터마이징 했습니다.

지도에 적용한 모습을 보세요.

이동 및 확대/축소할 때마다 느려지는 걸 볼 수 있습니다. 이제 위의 코드 스니펫에서 “아이콘” 속성에 있는 마커의 래스터 이미지(이 경우 png)로 전환하여 간단하게 변경해보겠습니다.

이제 느려지지 않네요! 대부분의 경우 svg는 웹에서 더 나은 성능을 발휘하지만, 많은 수의 마커가 한꺼번에 렌더링되는 경우에는 마커를 래스터 이미지로 최적화하는 것이 좋습니다.

 

그 외 유용한 팁

위에서 설명드린 것 외에도 JavaScript API의 사용을 최적화하기 위해 수행해야할 작업은 훨씬 더 많습니다. 예를 들어 많은 마커를 지도에 표시하기 위해서는 마커 클러스터링이 필수인 것 처럼요.

Maps JavaScript API 대한 더욱 자세한 내용은 문서 비디오 참고하세요.

 

SPH는 CARTO, Google Maps, SuperMap 등 다양한 케이스에 적용될 수 있는 다채로운 제품군을 보유하고 있으며 고객의 사례에 꼭 맞는 무료 세미나 및 개별 컨설팅을 제공하고 있습니다. 각 케이스에 맞춰 더욱 자세한 이야기를 나누고 싶으시다면 여기에서 문의 주시길 바라며, SPH에서 발행하는 GIS/로케이션 인텔리전스 관련 최신 소식을 받아보고 싶으신 분들은 페이스북 페이지 또는 뉴스레터를 구독해 주시길 바랍니다. 감사합니다.

구글맵과 함께 기분 좋은 여행을 떠나보세요.

지도는 여행에서 빠질 수 없는 도구입니다. 구글 맵은, 여행을 예약한 후 새로운 도시를 돌아다니는 것에서부터 집에 도착해 자신의 여행을 다른 사람과 나누는 것까지 도와줍니다.

 

예약정보 관리
구글맵에서 Your places를 통해서 호텔, 항공권 등 예약 정보들을 한 눈에 볼 수 있습니다. 또한, 공항에 체크인 하러 가는 경로, 다음 호텔로 가는 경로를 손쉽게 확인 할 수 있습니다. 예약 내역은 오프라인으로도 접근 가능해 데이터를 사용할 수 없는 여행 시 유용합니다.

여행지에서 길 찾기
저는 여행지에서 제일 힘든 것이 길을 찾는 것인데요, 내 위치가 제대로 나와도 방향을 몰라 지도를 뒤집어가며 힘들게 길을 찾았지요. 이럴 때 라이브 뷰라는 베타 기능인 AR 구글맵을 이용해보세요. 지난 8월 4일에 포스팅한 AR 구글맵은 이번부터 ARCore 및 ARKit을 지원하는 Android 및 iOS 기기로 베타 버전을 확장하고 있습니다.

맛있는 음식 찾기
여행하면 제일 중요한 것은 바로 음식!! 낯선 곳에서 맛있는 음식을 찾기란 힘든 것입니다. 리뷰가 좋은 음식점을 찾아가도 내 입맛에 맞지 않을 수 있습니다. 구글맵에서는 음식점들의 위치와 리뷰, 인기 메뉴 뿐만 아니라 Your match로 그 음식이 얼마나 내 취향에 맞는지와 식당 대기시간에 대한 정보를 제공해줍니다.

나에게 맞는 레스토랑 찾기

식당이 붐비는 시간, 인기 메뉴 등 정보와 식당 예약하기

여행을 친구와 공유하기
여행의 끝은 바로 친구들과 여행에 대해 공유하고 이야기하는 것이지요. 하지만 어디를 갔었는지 일일이 기억하기는 힘듭니다. 구글맵에서는 손쉽게 다녀왔던 여행에 대한 정보를 친구들과 공유할 수 있게 도와줍니다. 만일 구글맵의 위치 기록 서비스를 이용하고 있다면, 새로 업데이트 된 타임라인을 이용해서 다시 여행의 기억을 되새기는 것은 물론, 마음에 들었던 장소를 메모와 함께 친구들과 공유할 수 있습니다.

 

앞으로 몇 주 안에 이러한 항공권과 호텔 예약, 스트리트뷰(스트리트뷰를 사용할 수 있는 국가의 경우) 및 새로운 타임라인을 사용할 수 있을 것으로 예상됩니다. 예약 및 라이브러리는 Android와 iOS에서 제공되며, 새로운 타임라인은 Android에서 제공된다고 합니다.

 

식당과 나와의 적합도(관심장소)와 식당의 붐비는 정도와 같은 식당 정보들, 예약내역 관리, 여행 공유 등의 기능은 한국에서도 사용가능하지만 AR로 경로 찾기의 경우는 보안 때문에 한국에서는 사용할 수 없다고 합니다.  비록 한국에서는 전체 기능들을 사용할 수 없지만 해외여행 가서는 요긴하게 쓰일 수 있으니 꼭 사용해보시길 바랍니다.

 

SPH는 CARTO, Google Maps, SuperMap 등 다양한 케이스에 적용될 수 있는 다채로운 제품군을 보유하고 있으며 고객의 사례에 꼭 맞는 무료 세미나 및 개별 컨설팅을 제공하고 있습니다. 각 케이스에 맞춰 더욱 자세한 이야기를 나누고 싶으시다면 여기에서 문의 주시길 바라며, SPH에서 발행하는 GIS/로케이션 인텔리전스 관련 최신 소식을 받아보고 싶으신 분들은 페이스북 페이지 또는 뉴스레터를 구독해 주시길 바랍니다. 감사합니다.

더 빠른 장소 선택, 구글맵 API의 새로운 자동완성 기능

구글은 지난 7월 26일 공식 블로그를 통해 새로운 자동완성 기능에 대해 소개하였습니다.

새로운 자동완성 기능은 기존에 비해 더 많은 장소 유형(place type) 정보를 반환하며, 기준 위치에서의 직선 거리 정보가 결과값에 추가됩니다. 이렇게 개선된 기능을 통해 사용자들은 응답된 장소 목록에서 원하는 곳을 더 쉽고 빠르게 선택할 수 있습니다.

추가되는 장소 유형은 음식점, 카페와 같은 구체적인 POI(Point Of Interest) 정보입니다. 이로써 장소 유형별 아이콘을 리스트에 표시하여 더 나은 사용자 경험을 제공할 수 있습니다.

직선거리는 같은 이름과 유형을 가진 장소가 여러 개 있을 경우, 원하는 지점를 판단하는데에 유용하게 활용할 수 있는 정보입니다.

 

추가 장소 유형

사용자가 이름이 비슷한 장소들 중 원하는 지점을 더 잘 식별할 수 있도록, 이제 자동완성 기능에서 적용가능한 모든 장소 유형을 반환합니다.

이를 통하여 자동완성 결과값에서 음식점(restaurant), 박물관(museum), 지하철역(subway_station), 공항(airport) 등과 같은 추가 장소 유형이 포함됩니다. 이를 통해 아래 이미지처럼 자동완성 결과값마다 장소 유형에 따른 아이콘을 표시할 수 있습니다.

또한 추가된 장소 유형을 이용하여, 앱 또는 사이트에서 필요한 장소 유형별로 결과값을 필터링할 수 있습니다. 예를 들어 여행 사이트의 경우, 호텔 주위의 식당이나 쇼핑 센터만 결과값으로 반환되도록 할 수 있습니다.

아래는 서울을 중심으로 ‘스타’라는 키워드를 넣어 자동완성 요청을 보내어 추가 장소유형에 대한 테스트를 진행한 내용입니다.

참고로 구글에 따르면 현재 새로운 자동완성 기능은 공식적으로 배포된 것이 아니며, 위와 같은 추가 장소 유형이 언제까지 반환될지는 알 수 없다고 합니다. 따라서 현재는 테스트용으로만 해당 기능을 이용해주시기 바랍니다.

요청 URL
https://maps.googleapis.com/maps/api/place/autocomplete/json?
input=스타&key=YOUR_API_KEY&location=37.532600,127.024612&radius=2000&types=establishment

응답 결과
{

    “predictions” : [

       {

          “description” : “대한민국 서울 강남구 삼성동 스타필드 코엑스몰“,

          …

          “types” : [ “shopping_mall“, “point_of_interest”, “establishment” ]

       },

       …

       {

          “description” : “대한민국 서울특별시 중구 충무로2가 명동8길 스타일난다 핑크호텔 (stylenanda pink hotel) – 3CE“,

          …

          “types” : [ “point_of_interest”, “clothing_store“, “store”, “establishment” ]

       },

       {

          “description” : “대한민국 서울특별시 강남구 청담동 도산대로57길 스타벅스 청담스타R점“,

          …

          “types” : [ “cafe“, “food”, “point_of_interest”, “store”, “establishment” ]

       },

    …

    ],

    “status” : “OK”

 }

결과값 중 ‘types’ 필드에서 ‘shopping_mall’, ‘clothing_store’, ‘cafe’ 등의 추가된 장소 유형을 확인하실 수 있습니다.

직선거리 정보

샌프란시스코 시내에서 카페를 찾고자 할 때 검색 영역 내에 같은 이름을 가진 5개의 카페가 있을 수 있습니다. 찾고자 하는 지점을 정확히 알지 못한다면 이름과 주소만으로 찾으려던 카페를 선택하기는 어려울 것입니다.

위와 같은 상황에서 더 나은 사용자 경험을 위해 구글은 직선거리 정보를 제공하는 새로운 자동완성 필드를 개발하였습니다. 직선거리를 통해 사용자는 동일한 이름을 가진 장소를 더 잘 구별하여 원하는 장소를 찾을 수 있습니다.

현재 해당 기능은 Places API의 웹 서비스로만 개발된 상태이며, 모바일용 Places SDK와 Maps JavaScript API의 Places 라이브러리에서도 이용할 수 있도록 개발 중입니다.

직선거리 필드를 통해 앞으로 아래 이미지와 같이 개선된 사용자 경험을 고객에게 제공할 수 있습니다.

 

원문

New Autocomplete features in Google Maps Platform help your users make faster decisions

 

SPH는 CARTO, Google Maps, SuperMap 등 다양한 케이스에 적용될 수 있는 다채로운 제품군을 보유하고 있으며 고객의 사례에 꼭 맞는 무료 세미나 및 개별 컨설팅을 제공하고 있습니다. 각 케이스에 맞춰 더욱 자세한 이야기를 나누고 싶으시다면 여기에서 문의 주시길 바라며, SPH에서 발행하는 GIS/로케이션 인텔리전스 관련 최신 소식을 받아보고 싶으신 분들은 페이스북 페이지 또는 뉴스레터를 구독해 주시길 바랍니다. 감사합니다.

퇴근 시간에 앉아서 갈 수 있을까? 이제 구글맵으로 알 수 있다

구글은 6 27, 구글맵에 세계 200개 도시의 대중교통 정보 서비스를 실시한다고 발표했습니다. 이제 구글맵은 버스와 지하철의 실시간 혼잡도, 출도착 시간, 목적지까지 소요 시간과 함께 좌석이 몇 개 남았는지, 가장 붐비는 시간은 언제인지를 알려줍니다.

구글은 아래 사진과 같이 업체의 인기 시간대, 체류 시간, 예상 대기 시간 등 방문 데이터를 제공해왔습니다. 이번 업데이트는 이러한 기능을 교통수단에까지 확장한 것입니다. 

 

이번 업데이트의 주요 기능 중 하나인 실시간 지연 정보는 버스가 제 시간에 올지, 지체가 얼마나 되는지, 경로를 따라 실시간 교통상황을 보며 정확한 소요 시간을 확인할 수 있습니다. 또한 지도에서 지체가 발생하고 있는 정확한 위치를 확인할 수 있으므로, 어느 교통수단을 이용하면 좋을지도 판단할 수 있습니다.

또한 혼잡도 예측 기능은 과거의 데이터를 기반으로 버스, 기차 또는 지하철이 얼마나 혼잡한지 알 수 있습니다. 구글은 이 데이터를 수집하기 위해 지난 10월부터 이용객들을 대상으로 교통수단의 혼잡도에 대해 조사했으며, 계속해서 실시할 예정입니다. 이제 미리 좌석이 있는지를 보고, 바로 열차를 탈지 다음 차량을 기다릴지를 결정할 수 있게 되었습니다.

구글 맵의 새로운 기능은 일본·미국·브라질·프랑스 등 온라인 대중 교통 정보를 제공하는 나라에서 이용할 수 있습니다. 한국에서도 실시간 혼잡도를 제외한 기능을 제공할 예정이라고 합니다.

 

 

SPH는 CARTO, Google Maps, SuperMap 등 다양한 케이스에 적용될 수 있는 다채로운 제품군을 보유하고 있으며 고객의 사례에 꼭 맞는 무료 세미나 및 개별 컨설팅을 제공하고 있습니다. 각 케이스에 맞춰 더욱 자세한 이야기를 나누고 싶으시다면 여기에서 문의 주시길 바라며, SPH에서 발행하는 GIS/로케이션 인텔리전스 관련 최신 소식을 받아보고 싶으신 분들은 페이스북 페이지 또는 뉴스레터를 구독해 주시길 바랍니다. 감사합니다.