我有一个小的android问题(google maps v2 api)
这是我的代码:
GoogleMaps mMap;
Marker marker = mMap.addMarker(new MarkerOptions().position(new LatLng(20, 20)));
Run Code Online (Sandbox Code Playgroud)
我试图找到一种方法来获取此标记对象的当前屏幕坐标(x,y).
也许有人有想法?我尝试了getProjection,但它看起来没有用.谢谢!:)
我正在尝试为谷歌地图片段设置onDrag Listener,但无法触发拖动事件.由于地图不直接支持拖动事件,我正在尝试为View实现拖动侦听器.我知道onMarkerDrag事件,但这对我没有好处,因为我不想移动标记.
捕获地图拖动事件的原因有两个:
首先检测用户是否已平移地图.如果他们没有,我喜欢将他们的位置保留在屏幕上,如果它不在地图上,则动画显示他们的位置.如果他们已经平移了地图,我会假设他们知道他们想要看到什么并强制在屏幕上显示位置.(这似乎应该包含在API中)
陷印的第二个原因是允许用户在地图上绘制线条和多边形.我可以使用onTap事件(添加点)来做到这一点,但我也希望能够让它们自由地使用它.
我的代码看起来像这样:
主要活动:
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
setUpMapIfNeeded();
mMapView = findViewById(R.id.map);
myMapDragListener = new MapDragListener();
mMapView.setOnDragListener(myMapDragListener);
Run Code Online (Sandbox Code Playgroud)
听众:
public class MapDragListener implements OnDragListener {
/**
*
*/
public MapDragListener() {
super();
say.logCat("MapDragListener: I'm ALIVE!!!!");
}
private AkamaiAnnounce say = new AkamaiAnnounce();
private boolean inDrag;
private boolean hasPanned=false;
@Override
public boolean onDrag(View v, DragEvent event) {
say.logCat("MapDragListener.onDrag: " + event.toString());
//String dotTAG = (String) getTag();
if (event.getLocalState() != this) {
return false;
}
boolean myResult = true;
int …Run Code Online (Sandbox Code Playgroud) 我试图在谷歌地图上用手绘制一个多边形,然后将颜色填充到多边形.
通常颜色填充正常并按预期工作,但如果多边形具有拦截点,则填充颜色不起作用.
我使用下面的代码绘制多边形并将颜色填充到多边形
PolygonOptions drawShapeOptions = new PolygonOptions();
drawShapeOptions.addAll(mLatLngList);
drawShapeOptions.strokeColor(Color.BLACK);
drawShapeOptions.strokeWidth(5);
drawShapeOptions.fillColor(Color.GRAY);
mDrawShape = mGoogleMap.addPolygon(drawShapeOptions);
Run Code Online (Sandbox Code Playgroud)
结果如下
如何用交叉点填充此多边形中的颜色?
我有一个
places = ArrayList<ArrayList<LatLng>>
Run Code Online (Sandbox Code Playgroud)
我将LatLng点添加到内部ArrayList中,然后我有一个for循环,循环并向地图添加折线......除了它不这样做...如何动态地将折线添加到GoogleMap?我检查了地方是否被填充,它是.
提前致谢.
ArrayList<Polyline> pl = new ArrayList<Polyline>();
for(int i =0; i<places.size(); i++){
pl.add(mMap.addPolyline(new PolylineOptions().addAll(places.get(i))));
Log.e("size of places", "size of places is " + places.size());
}
Run Code Online (Sandbox Code Playgroud) 大家好,
我正在使用谷歌地图V2,我必须通过触摸它在地图片段上绘制一个形状.即如果我在地图上旋转手指,则应生成一个形状.我遇到了问题,因为当我们触摸地图时,Google mapV2不会提供lat.我没有必要点击MapV2所以点击监听器对我没用.
所以请分享任何想法或代码,通过触摸来获取地图的纬度和经度.这样我就可以通过触摸地图来绘制形状.
我想在我的谷歌地图应用程序中添加一个像谷歌地图标准按钮下面的按钮.请看下面的图片.第一个按钮是谷歌地图标准按钮之一,第二个按钮是用户自己添加的另一个自定义按钮.
在下面的链接@chintan khetiya描述了如何从布局代码向地图添加按钮,但这不是像标准按钮那样的按钮.
如何在Android中的Google地图V2中绘制自由手多边形?
这是@chintan khetiya的代码:
<fragment
android:id="@+id/map"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
<FrameLayout
android:id="@+id/fram_map"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/btn_draw_State"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Free Draw" />
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
为了创建一个按钮,如下图中的按钮,最好的方法是什么?当然,位置必须完全低于标准按钮,图像应该保持声音.我们是否需要使用上面的布局代码并从布局中手动更改图像和位置,还是有更好的方法?我认为谷歌应该创建另一种方法来添加这些按钮到毛.有这样的方法吗?
最后,我更喜欢以编程方式添加此按钮,而不是在布局上添加它.
谢谢
