2013-04-08 293 views
2

我正在開發將消息從管理員發送到客戶端的應用程序。 流程非常簡單 - 管理員輸入消息,並且安裝了此應用程序的每個客戶端都會收到該消息。我正在使用池(現在不推送通知)。Android Google Maps API V2 - 在地圖上標記區域

發送/接收消息工作正常,現在我需要添加新功能: 管理員在地圖上選擇一個區域(Google maps API),並且客戶端檢查他的位置並僅在他在標記區域內。

到目前爲止,我只完成了在屏幕上選擇區域的可視部分:管理員點擊的位置有一個圓圈(管理員可以更改圓圈半徑),現在我必須做一些棘手的部分 - 標記圈子裏的面積,並將其發送到DB(該消息),因此對方(客戶端)將檢查他的位置在圓圈內,他應該得到的消息。

任何幫助?

我附上了相關的代碼塊和屏幕截圖。

code: 
private void drawCircle(LatLng center, int radius) { 

     CircleOptions circleOptions = new  CircleOptions().center(center).radius(radius); 
     circleOptions.strokeColor(Color.BLUE); 
     circleOptions.strokeWidth(3); 
     gMap.addCircle(circleOptions); 
     Log.d(TAG, "center = " + center.latitude + " , " + center.longitude); 
     Log.d(TAG, "radius = " + radius); 
     gMap.addMarker(new  MarkerOptions().position(center).icon(BitmapDescriptorFactory.fromResource(R.drawable.dot)) ); 

} 

謝謝...

screen snap

回答

1

我認爲你需要做的最簡單的事情,是檢查客戶端和圓的中心之間的距離。如果是小於圓的半徑 - >客戶端裏面。

+0

謝謝,我已經解決了它,準確的方法 - 管理正在發送中心(經緯度)和半徑給客戶端,客戶端做比較。 – 2013-04-09 19:07:30

相關問題