Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从app-Android启动谷歌地图_Android_Google Maps - Fatal编程技术网

从app-Android启动谷歌地图

从app-Android启动谷歌地图,android,google-maps,Android,Google Maps,我想在我的应用程序中使用谷歌地图-从我的应用程序启动谷歌地图。我(在这个论坛上以不同的方式)创建了这个代码: 它工作得很好-它启动了谷歌地图,但是没有任何标签(这个带“A”的绿色指针),缩放非常大。我怎样才能改变它?有没有办法显示两点并在两点之间布线? 谢谢你的帮助 公共类MapRouteActivity扩展了MapActivity{ public class MapRouteActivity extends MapActivity { LinearLayou

我想在我的应用程序中使用谷歌地图-从我的应用程序启动谷歌地图。我(在这个论坛上以不同的方式)创建了这个代码:

它工作得很好-它启动了谷歌地图,但是没有任何标签(这个带“A”的绿色指针),缩放非常大。我怎样才能改变它?有没有办法显示两点并在两点之间布线?

谢谢你的帮助

公共类MapRouteActivity扩展了MapActivity{
    public class MapRouteActivity extends MapActivity {    
          LinearLayout linearLayout;
   MapView mapView;
     private Road mRoad;    
  @Override
  public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);    
new Thread() {
@Override
public void run() {
 double fromLat = 49.85, fromLon = 24.016667; 
 double toLat = 50.45, toLon = 30.523333;
 String url = RoadProvider
  .getUrl(fromLat, fromLon, toLat, toLon);
 InputStream is = getConnection(url);
 mRoad = RoadProvider.getRoute(is);
 mHandler.sendEmptyMessage(0);
 }
 }.start();
 }

 Handler mHandler = new Handler() {
 public void handleMessage(android.os.Message msg) {
  TextView textView = (TextView) findViewById(R.id.description);
  textView.setText(mRoad.mName + " " + mRoad.mDescription);
  MapOverlay mapOverlay = new MapOverlay(mRoad, mapView);
  List<Overlay> listOfOverlays = mapView.getOverlays();
   listOfOverlays.clear();
   listOfOverlays.add(mapOverlay);
   mapView.invalidate();
    };
    };

 private InputStream getConnection(String url) {
 InputStream is = null;
  try {
  URLConnection conn = new URL(url).openConnection();
  is = conn.getInputStream();
  } catch (MalformedURLException e) {
  e.printStackTrace();
   } catch (IOException e) {
   e.printStackTrace();
   }
  return is;
  }    
   @Override
 protected boolean isRouteDisplayed() {
  return false;
  }
 }
线性布局线性布局; 地图视图; 私家路; @凌驾 创建时的公共void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); mapView=(mapView)findViewById(R.id.mapView); mapView.SetBuilTinZoomControl(真); 新线程(){ @凌驾 公开募捐{ 双fromLat=49.85,fromLon=24.016667; 双托拉特=50.45,托伦=30.523333; 字符串url=RoadProvider .getUrl(fromLat、fromLon、toLat、toLon); InputStream is=getConnection(url); mRoad=RoadProvider.getRoute(is); mHandler.sendEmptyMessage(0); } }.start(); } Handler mHandler=新处理程序(){ public void handleMessage(android.os.Message msg){ TextView TextView=(TextView)findViewById(R.id.description); textView.setText(mRoad.mName+“”+mRoad.mDescription); MapOverlay MapOverlay=新的MapOverlay(mRoad,mapView); List ListoForLays=mapView.getOverlays(); listOfOverlays.clear(); 添加(映射覆盖); mapView.invalidate(); }; }; 私有InputStream getConnection(字符串url){ InputStream=null; 试一试{ URLConnection conn=新URL(URL).openConnection(); is=conn.getInputStream(); }捕获(格式错误){ e、 printStackTrace(); }捕获(IOE异常){ e、 printStackTrace(); } 回报是; } @凌驾 受保护的布尔值isRouteDisplayed(){ 返回false; } }
请参阅()上的完整代码

地图的缩放级别

MapController myMC myMapView.getController()


myMC.setZoom(int值)

谢谢你的帮助,但我认为这不是我想要的,因为它在我的应用程序中创建地图,我想用marker启动google地图(有很多功能,如导航等)。
    public class MapRouteActivity extends MapActivity {    
          LinearLayout linearLayout;
   MapView mapView;
     private Road mRoad;    
  @Override
  public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);    
new Thread() {
@Override
public void run() {
 double fromLat = 49.85, fromLon = 24.016667; 
 double toLat = 50.45, toLon = 30.523333;
 String url = RoadProvider
  .getUrl(fromLat, fromLon, toLat, toLon);
 InputStream is = getConnection(url);
 mRoad = RoadProvider.getRoute(is);
 mHandler.sendEmptyMessage(0);
 }
 }.start();
 }

 Handler mHandler = new Handler() {
 public void handleMessage(android.os.Message msg) {
  TextView textView = (TextView) findViewById(R.id.description);
  textView.setText(mRoad.mName + " " + mRoad.mDescription);
  MapOverlay mapOverlay = new MapOverlay(mRoad, mapView);
  List<Overlay> listOfOverlays = mapView.getOverlays();
   listOfOverlays.clear();
   listOfOverlays.add(mapOverlay);
   mapView.invalidate();
    };
    };

 private InputStream getConnection(String url) {
 InputStream is = null;
  try {
  URLConnection conn = new URL(url).openConnection();
  is = conn.getInputStream();
  } catch (MalformedURLException e) {
  e.printStackTrace();
   } catch (IOException e) {
   e.printStackTrace();
   }
  return is;
  }    
   @Override
 protected boolean isRouteDisplayed() {
  return false;
  }
 }