MapView
指定された座標に線を引く方法は?
私の知る限り、iPhoneでは可能です。
お知らせ下さい。
前もって感謝します。
MapViewを使用するには、アクティビティでMapActivityを拡張する必要があります。
描画したい線(または実際には他のもの)ごとに、オーバーレイOverlay
をサブクラス化し、のonDraw()
メソッドで描画を行う必要があります。作成したら、のようなものを使用Overlay
してに追加します。MapView
mMapView.getOverlays().add(new MyOverlay());
カスタム内では、のようなものでプロジェクションOverlay
を取得する必要があります。から、 toPixels( GeoPoint 、Point)メソッドを使用してGPS座標を画面座標に変換し、通常のAndroid2D描画メソッドを使用して渡されたCanvasに描画することができます。Projection p = mapView.getProjection();
Projection
Projection
それが基本です...他に何か必要な場合は、質問してください。
このコード、サンプル座標、およびその使用法を使用できます。
//...setting map and starting
ArrayList<LatLng> list = new ArrayList<>();
list.add(new LatLng(41.020244, 29.045663));
list.add(new LatLng(41.019904, 29.045448));
list.add(new LatLng(41.019451, 29.044397));
list.add(new LatLng(41.019710, 29.043474));
PolylineOptions options = new PolylineOptions().width(5).color(Color.BLUE).geodesic(true);
for (int z = 0; z < list.size(); z++) {
LatLng point = list.get(z);
options.add(point);
}
mGoogleMap.addPolyline(options);
CameraPosition cameraPosition;
cameraPosition = new CameraPosition.Builder().target(new LatLng(41.020811, 29.046113)).zoom(15).build();
mGoogleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));