1번의 경우 말 그대로 직접 클러스터러를 구현해야하는데
클러스터링을 하기위한 알고리즘을 지도 API와 함께 동작하게 하려면 제공되는 지도 API만 기능만으로는 제약이 있을겁니다.
2번의 경우 웹과 앱의 기능차이도 있고 엔진이 달라서 어려울 거에요. 웹뷰도 추천해 드리지 않아요.
그렇다면 클라이언트 사이드가 아닌 서버 사이드에서 할 수 있는것을 찾아보는건 어떨까요.
DB의 데이터를 위치,레벨별로 관리하고 조회하는게 가장 좋아보입니다.
아니면 DB중에 geo location을 지원하는 DB들이 있어요.
geo location database는 위,경도로 조회가 가능하고 점, 선, 면 데이터를 저장 수정하고 쿼리 결과를 지도로 보여주기도 합니다.