• 显示地图


    显示地图的全部代码
    -----------------xml中的代码

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#f8f8ff"
    android:orientation="vertical" >

    <com.baidu.mapapi.map.TextureMapView
    android:id="@+id/RegionalCoordinatesbRegionMap"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:clickable="true" >
    </com.baidu.mapapi.map.TextureMapView>

    </LinearLayout>
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    class类中的代码,其中包含多位置标点 点击标点显示提示文本框并在点击文本框时执行对应的点击事件

    public class RegionalCoordinates extends Activity{

    private BaiduMap baiduMap;
    private TextureMapView mMapView;
    private MapStatusUpdate msu ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.regional_coordinates);
    mMapView = (TextureMapView) findViewById(R.id.RegionalCoordinatesbRegionMap);
    init();
    }
    private void init() {
    // TODO Auto-generated method stub
    baiduMap = mMapView.getMap();
    baiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
    baiduMap.setTrafficEnabled(true);
    // 设置初始加载位置
    msu = MapStatusUpdateFactory.newLatLngZoom(new LatLng(24.800427,118.599943),13);
    baiduMap.setMapStatus(msu);
    List<OverlayOptions> options = new ArrayList<OverlayOptions>();
    for (Map<String, Object> map : DatasStatistics.getRegionMap()) {
    Map<String, Object> obj= (Map<String, Object>) map.get("datastatistics");
    //构建Marker图标
    BitmapDescriptor bitmap;
    //用来构造InfoWindow

    if(obj==null||(Double)obj.get("blockagedegree")>20){
    bitmap = BitmapDescriptorFactory
    .fromResource(R.drawable.exception);
    }else{
    bitmap = BitmapDescriptorFactory
    .fromResource(R.drawable.yes);
    }
    //定义Maker坐标点
    LatLng point1 = new LatLng((Double) map.get("latitude"), (Double) map.get("longitude"));
    //构建MarkerOption,用于在地图上添加Marker
    OverlayOptions option1 = new MarkerOptions()
    .position(point1)
    .icon(bitmap);
    options.add(option1);
    }
    baiduMap.addOverlays(options);
    //获取地图标记点击事件
    baiduMap.setOnMarkerClickListener(new OnMarkerClickListener() {
    //加载标点上方文本点击事件
    InfoWindow.OnInfoWindowClickListener listener = new InfoWindow.OnInfoWindowClickListener() {
    @Override
    public void onInfoWindowClick() {
    Intent i = new Intent(RegionalCoordinates.this, SingleDetails.class);
    startActivity(i);
    overridePendingTransition(R.anim.fade_out,R.anim.fade_in);
    }
    };
    //加载标点点击事件
    @Override
    public boolean onMarkerClick(Marker mak) {
    //设置文本标题
    BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.drawable.tips);
    LatLng latLng =mak.getPosition();
    //设置参数为了得到详情利用经纬度
    DatasStatistics.setLatLng(latLng);
    //传值显示
    InfoWindow mInfoWindow = new InfoWindow(bitmap, latLng, -30, listener);
    baiduMap.showInfoWindow(mInfoWindow);
    return false;
    }
    });
    //在地图上添加Marker,并显示
    }

    @Override
    protected void onDestroy() {
    super.onDestroy();
    //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
    mMapView.onDestroy();
    }
    @Override
    protected void onResume() {
    super.onResume();
    //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
    mMapView.onResume();
    }
    @Override
    protected void onPause() {
    super.onPause();
    //在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
    mMapView.onPause();
    }
    @Override
    public void onBackPressed() {
    Intent i = new Intent(RegionalCoordinates.this, TableDetails.class);
    startActivity(i);
    overridePendingTransition(R.anim.fade_out,R.anim.fade_in);
    }
    private long logOut =0;
    private long lastClickTime=0;
    }

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    最终显示效果

    ,利用经纬度对通过url跳转百度地图

    button.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View arg0) {
    Uri uri = Uri.parse("http://api.map.baidu.com/geocoder?location="+
    DatasStatistics.getLatLng().latitude+","+DatasStatistics.getLatLng().longitude+"&coord_type=bd09ll&output=html&src=webapp.baidu.openAPIdemo");

    Intent intent = new Intent(Intent.ACTION_VIEW, uri);

    startActivity(intent);
    }
    });
    --------------------- 

  • 相关阅读:
    假期周总结报告(五)
    java 原码反码及补码 总结
    java ==与equals()方法的总结
    java String 类型总结
    java 全局变量 的小结
    java static语句的总结
    ATM开学测试(未完成)
    第七周学习进度总结
    第六周学习进度总结
    第五周学习进度总结
  • 原文地址:https://www.cnblogs.com/hyhy904/p/11284669.html
Copyright © 2020-2023  润新知