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