想了解如何在JMapViewer中将工具提示添加到MapMarker的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于jmap怎么用的相关问题,此外,我们还将为您介绍关于android–加速启
想了解如何在JMapViewer中将工具提示添加到MapMarker的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于jmap怎么用的相关问题,此外,我们还将为您介绍关于android – 加速启动包含mapview的活动并扩展MapviewActivity、android – 如何让Google Mapview从较小的mapview变为全屏?、android – 添加触摸事件监听器到MapView、Android(MapView):如何在mapview中设置4英里的缩放级别?的新知识。
本文目录一览:- 如何在JMapViewer中将工具提示添加到MapMarker(jmap怎么用)
- android – 加速启动包含mapview的活动并扩展MapviewActivity
- android – 如何让Google Mapview从较小的mapview变为全屏?
- android – 添加触摸事件监听器到MapView
- Android(MapView):如何在mapview中设置4英里的缩放级别?
如何在JMapViewer中将工具提示添加到MapMarker(jmap怎么用)
我想要一个添加ToolTip
到自定义MapMarker
的 JMapViewer 。但是,取消搜索并不能帮助我解决这个问题。
自定义 MapMarker 为:
public class MapMarkerUnit extends MapObjectImpl implements MapMarker
绘制方法的覆盖是
public void paint(Graphics g,Point position,int radio) {
String filename = "marker.png";
//System.out.print(filename);
BufferedImage x = null;
try {
x = ImageIO.read(getClass().getResource(filename));
} catch (IOException ex) {
Logger.getLogger(MapMarkerUnit.class.getName()).log(Level.SEVERE,null,ex);
}
g.drawImage(x,position.x-16,position.y-37,null);
//if(getLayer()==null||getLayer().isVisibleTexts()) paintText(g,new Point(position.x+20,position.y));
}
感谢您提供的任何帮助。
android – 加速启动包含mapview的活动并扩展MapviewActivity
我有一个应用程序,其中包含一个MapviewActivity活动,主要是mapview.
但是我注意到活动的启动时间非常慢,从按下按钮进入地图活动的那一刻起就会出现延迟.我觉得这会造成糟糕的用户体验,并希望避免这种情况.
我已经根据googles开发者页面上的一篇UI改进文章的建议,将地图活动的背景设置为@null,我觉得这不会成功.
有没有办法改善这个?我不希望主要的主屏幕卡在活动的发布上,甚至转移到地图活动然后加载mapview会更好.
谢谢,
贾森
解决方法:
您可以尝试从布局中删除MapView.然后,在onCreate()中,使用post()来调度Runnable以在MapView中添加并从Java执行与地图相关的初始化.通过使用post()(或者,可能是postDelayed())来进一步推迟MapView,您应该能够首先渲染剩余的活动.
我没试过这个,所以YMMV.
android – 如何让Google Mapview从较小的mapview变为全屏?
Android v4.0.4
Google Map API V2
解决方法
>创建一个新的活动,按下按钮将开始,并将包括一个全屏地图.在此活动中创建相同的按钮,将您带回原始活动.
>您可以在同一窗口中以编程方式将布局宽度更改为MapFragment的长度.
第二个选项会更好,因为你可以避免新活动加载的屏幕闪烁.
更新:
关于第二个选项这里是我写的代码放大地图onClick地图看看这是否有助于你:
@Override public void onMapClick(LatLng point) { LinearLayout mapFrameLayout = (LinearLayout)findViewById(R.id.mapFrameLayout); if (!isMapOpen) { LinearLayout.LayoutParams fullMapParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT); if (!isDetailsOpen) { FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.hide(closedDetailsFragment).commit(); mapFrameLayout.setLayoutParams(fullMapParams); isMapOpen = true; isDetailsOpenWhenopenedMap = false; } else { FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.hide(openedDetailsFragment).commit(); mapFrameLayout.setLayoutParams(fullMapParams); isMapOpen = true; isDetailsOpenWhenopenedMap = true; } } else { LinearLayout.LayoutParams defaultMapparams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,280); mapFrameLayout.setLayoutParams(defaultMapparams); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); if (isDetailsOpenWhenopenedMap) { fragmentTransaction.show(openedDetailsFragment).commit(); } else { fragmentTransaction.show(closedDetailsFragment).commit(); } isMapOpen = false; } }
如您所见,我更改了地图所在的FrameLayout的大小,您可以将按钮放在相同的布局中,例如将其放在右上角.当你的地图拉伸时,按钮仍然会在同一个右上角.
android – 添加触摸事件监听器到MapView
package sdpd.loc; import sdpd.loc.createNote.mapOverlay; import com.google.android.maps.GeoPoint; import com.google.android.maps.MapActivity; import com.google.android.maps.MapView; import android.os.Bundle; import android.view.MotionEvent; import android.widget.Toast; import android.app.Activity; public class createNote extends MapActivity { @Override protected boolean isRoutedisplayed() { return false; } @Override public void onCreate(Bundle savedInstanceStates){ super.onCreate(savedInstanceStates); setContentView(R.layout.map); MapView mapview=(MapView)findViewById(R.id.MapView); mapview.setBuiltInZoomControls(true); } class mapOverlay extends com.google.android.maps.Overlay{ @Override public boolean onTouchEvent(MotionEvent event,MapView mapview){ if (event.getAction()==1){ GeoPoint p=mapview.getProjection().fromPixels((int)event.getX(),(int)event.getY()); Toast.makeText(getBaseContext(),p.getLatitudeE6()/1E6 + "," + p.getLongitudeE6()/1E6,Toast.LENGTH_SHORT).show(); } return false; } }
}
如何让它上班?
解决方法
您可以通过将以下代码附加到活动的onResume()方法来实现.
public void onCreate(Bundle savedInstanceStates){ super.onCreate(savedInstanceStates); setContentView(R.layout.map); MapView mapview=(MapView)findViewById(R.id.MapView); mapview.setBuiltInZoomControls(true); mapOverlay myOverlay = new mapOverlay(); List<Overlay> overlays = mMapView.getoverlays(); overlays.add(myOverlay); }
现在您的叠加层已注册,触摸事件应处理.
Android(MapView):如何在mapview中设置4英里的缩放级别?
我想设置距我所拥有的纬度和经度4英里的缩放级别.
提前致谢,
解决方法
mc = mapView.getController(); String coordinates[] = {"1.352566007","103.78921587"}; double lat = Double.parseDouble(coordinates[0]); double lng = Double.parseDouble(coordinates[1]); p = new GeoPoint( (int) (lat * 1E6),(int) (lng * 1E6)); mc.animateto(p); mc.setZoom(17);
今天的关于如何在JMapViewer中将工具提示添加到MapMarker和jmap怎么用的分享已经结束,谢谢您的关注,如果想了解更多关于android – 加速启动包含mapview的活动并扩展MapviewActivity、android – 如何让Google Mapview从较小的mapview变为全屏?、android – 添加触摸事件监听器到MapView、Android(MapView):如何在mapview中设置4英里的缩放级别?的相关知识,请在本站进行查询。
本文标签: