我是Android開發新手,我有一個問題,我一直在努力工作幾個小時,但沒有成功。我想在我的Google地圖的中心創建一個十字線,即使在地圖平移時,它仍停留在中心位置。我的可繪製目錄中有一個十字線的.png圖像。另外,我有一個MapView,它顯示帶有多個標記的Google Map。解決這個問題的最好方法是什麼?在我的Google地圖中心創建十字線
2
A
回答
2
public class CrossHairsOverlay extends Overlay {
public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when) {
super.draw(canvas, mapView, shadow);
GeoPoint centerGp = mapView.getMapCenter();
Projection projection = mapView.getProjection();
Point centerPoint = projection.toPixels(centerGp, null);
Paint p = new Paint();
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.crosshairs_dial);
canvas.drawBitmap(bmp, centerPoint.x, centerPoint.y, p);
return true;
}
}
3
您需要製作CrosshairOverlay。沒有測試過這個。
public class CrosshairOverlay extends Overlay {
public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when) {
Projection projection = mapView.getProjection();
Point center = projection.toPixels(mapView.getMapCenter(), null);
// Customize appearance, should be a fields.
Paint p = new Paint(Paint.ANTI_ALIAS_FLAG);
p.setColor(0xFF000000);
p.setStyle(Style.STROKE);
p.setStrokeWidth(2.0f);
int innerRadius = 10;
int outerRadius = 20;
canvas.drawCircle(center.x, center.y, innerRadius, p);
canvas.drawCircle(center.x, center.y, outerRadius, p);
return true;
}
}
+0
謝謝!通過一些編輯,我能夠使其工作。 – user380242 2010-06-30 19:46:41
+0
@Robby Pond如何使用這個類來繪製谷歌地圖上的十字線? – 2016-09-14 07:45:04
1
這就是我必須建立一個簡單的CrossHairOverlay(使用片段和谷歌地圖API2 Android版):
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center">
<TextView
android:id="@+id/crosshair_horizontal_line"
android:layout_width="fill_parent"
android:layout_height="1dp"
android:padding="1dp"
android:background="@color/black"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="center">
<TextView
android:id="@+id/crosshair_vertical_line"
android:layout_width="1dp"
android:layout_height="fill_parent"
android:padding="2dp"
android:background="@color/black"/>
</LinearLayout>
這是一個例子截圖:
0
我拿了KingAlex1985的回答,讓它變得更簡單一些。它產生於以點屏幕中心的十字線,軍人作風
````
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerInParent="true"
android:foregroundGravity="center"
android:gravity="center"
android:orientation="horizontal">
<View
android:layout_width="15dp"
android:layout_height="1dp"
android:background="@android:color/black"
/>
<View
android:layout_width="5dp"
android:layout_height="1dp"
android:background="@android:color/transparent"
/>
<View
android:layout_width="2dp"
android:layout_height="2dp"
android:background="@android:color/black"
/>
<View
android:layout_width="5dp"
android:layout_height="1dp"
android:background="@android:color/transparent"
/>
<View
android:layout_width="15dp"
android:layout_height="1dp"
android:background="@android:color/black"
/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerInParent="true"
android:foregroundGravity="center"
android:gravity="center"
android:orientation="vertical">
<View
android:layout_width="1dp"
android:layout_height="15dp"
android:background="@android:color/black"
/>
<View
android:layout_width="1dp"
android:layout_height="11dp"
android:background="@android:color/transparent"
/>
<View
android:layout_width="1dp"
android:layout_height="15dp"
android:background="@android:color/black"
/>
</LinearLayout>
相關問題
- 1. Android - 在我的Google地圖中心顯示十字線
- 2. 在JavaScript Google地圖的中心顯示十字線
- 3. 在CombinedDomainXYPlot中創建標記/十字線
- 4. 在google地圖中創建新的infowindow
- 5. 如何在Google地圖(V3)中爲我的多段線創建方向箭頭?
- 6. 在Google地圖中創建非循環多段線
- 7. 在Google地圖中創建矩形
- 8. Google地圖中心和InfoWindow
- 9. 中心pin google地圖
- 10. Google地圖API Javascript中心地圖
- 11. 使用Google地圖中的座標列表創建路線
- 12. 如何在iPhone中創建像Google地圖一樣的Google地圖圖表?
- 13. 從中心顯示十字線
- 14. 從Google地圖等PNG創建地圖
- 15. 創建Google地圖容器
- 16. 如何在Google地圖中拖動時從標記下方移除十字線
- 17. iphone谷歌地圖十字線按鈕
- 18. 如何在KeystoneJS框架中創建Google地圖字段
- 19. 如何在Google地圖上創建路線Android API
- 20. 如何在Google地圖中創建自定義地圖?
- 21. 建議的路線 - Google地圖API
- 22. Google地圖中的中心標記
- 23. 在其父視圖中創建我的視圖中心底部?
- 24. 在Android上創建離線地圖
- 25. 在Qt GraphicsView中創建長線(或十字線)光標的最佳方法
- 26. 如何在Google圖表上定位十字線?
- 27. 通過Javascript重置Google地圖中的地圖中心
- 28. 在HTML文件中的圖像上創建十字
- 29. 如何在android中創建Widget中的Google地圖
- 30. 如何使用Google地圖API創建路線?
您可能還需要居中位圖: //如果您希望圖像居中 'canvas.drawBitmap(bmp,centerPoint.x - bmp.getWidth()/ 2,centerPoint.y - bmp.getHeight()/2,p);'
OR
//如果想要的圖像是底部中心 'canvas.drawBitmap(BMP,centerPoint.x - bmp.getWidth()/ 2,centerPoint.y - bmp.getHeight(),p);' – 2013-01-05 01:56:53