我有来自数据库的纬度和经度值。如何使用 android google map api v2 显示基于纬度和经度值的标记。在原始的 android google map 中,我们显示基于概念项叠加的标记。在 v2 中,我不知道如何显示标记。
dbAdapter.open();
Cursor points = dbAdapter.clustercall(Btmlft_latitude, toprgt_latitude,
Btmlft_longitude, toprgt_longitude, gridsize1);
int c = points.getCount();
Log.d("count of points", "" + c);
if (points != null) {
if (points.moveToFirst()) {
do {
int latitude = (int) (points.getFloat(points
.getColumnIndex("LATITUDE")) * 1E6);
int longitude = (int) (points.getFloat(points
.getColumnIndex("LONGITUDE")) * 1E6);
mapView.addMarker(new MarkerOptions().position(
new LatLng(latitude, longitude)).icon(
BitmapDescriptorFactory.defaultMarker()));
} while (points.moveToNext());
}
}
points.close();
dbAdapter.close();
那是我的代码。我正在从数据库中获取纬度和经度值,但是如何添加基于纬度和经度值的标记以映射。
我阅读了 android google maps api v2。其中只提供了标记的静态添加数据
最佳答案
使用标记类
放置在 map 表面特定点的图标。标记图标是针对设备屏幕而不是 map 表面绘制的;即,它不一定会因 map 旋转、倾斜或缩放而改变方向。
标记具有以下属性:
anchor
图像上将放置在标记的 LatLng 位置的点。这默认为距图像左侧和图像底部 50%。
位置
map 上标记位置的 LatLng 值。如果您想移动标记,您可以随时更改此值。
标题
当用户点击标记时在信息窗口中显示的文本字符串。您可以随时更改此值。
fragment
显示在标题下方的附加文本。您可以随时更改此值。
图标
为标记显示的位图。如果未设置图标,则会显示默认图标。您可以使用 defaultMarker(float) 指定默认图标的替代颜色。创建标记后,您将无法更改图标。
拖动状态
如果要允许用户拖动标记,请将此属性设置为 true。您可以随时更改此值。默认为真。
可见性
默认情况下,标记是可见的。要使标记不可见,请将此属性设置为 false。您可以随时更改此值。
GoogleMap map = ... // get a map.
// Add a marker at San Francisco.
Marker marker = map.addMarker(new MarkerOptions()
.position(new LatLng(37.7750, 122.4183))
.title("San Francisco")
.snippet("Population: 776733"));
关于android - 使用 android google maps v2 向 map 添加标记的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14194918/