百度地图初始化位置以及位置标记

xml文件activity_map.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

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

</LinearLayout>

BaiduMapActivity.java

package com.wissea.trs.activity;

import android.os.Bundle;

import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.BitmapDescriptor;
import com.baidu.mapapi.map.BitmapDescriptorFactory;
import com.baidu.mapapi.map.MapStatus;
import com.baidu.mapapi.map.MapStatusUpdate;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.MarkerOptions;
import com.baidu.mapapi.map.OverlayOptions;
import com.baidu.mapapi.model.LatLng;
import com.wissea.trs.R;

public class BaiduMapActivity extends BaseActivity {

    private MapView mv_cameras;
    private BaiduMap mBaiduMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        // 在使用SDK各组件之前初始化context信息,传入ApplicationContext
        // 注意该方法要再setContentView方法之前实现
        SDKInitializer.initialize(getApplicationContext());
        setContentView(R.layout.activity_map);

        setBackable(true);
        setTitle("拓扑图");

        // 获取地图控件引用
        mv_cameras = (MapView) findViewById(R.id.mv_cameras);


        // 类型为普通地图
        mBaiduMap = mv_cameras.getMap();
        mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);

        // 初始化位置
        // 设定中心点坐标 
        LatLng cenpt = new LatLng(22.554871, 113.949622); 
        // 定义地图状态(精确到50米)
        MapStatus mMapStatus = new MapStatus.Builder().target(cenpt).zoom(18).build();
        // 定义MapStatusUpdate对象,以便描述地图状态将要发生的变化
        MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory.newMapStatus(mMapStatus);
        // 改变地图状态
        mBaiduMap.setMapStatus(mMapStatusUpdate);

        //定义Maker坐标点  
        LatLng point = new LatLng(22.554871, 113.949622);  
        //构建Marker图标  
        BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.drawable.icon_marka);  
        //构建MarkerOption,用于在地图上添加Marker  
        OverlayOptions option = new MarkerOptions().position(point).icon(bitmap);  
        //在地图上添加Marker,并显示  
        mBaiduMap.addOverlay(option);

        /*//创建InfoWindow展示的view  
        Button button = new Button(getApplicationContext());  
        button.setBackgroundResource(R.drawable.popup);  
        //定义用于显示该InfoWindow的坐标点  
        LatLng pt = new LatLng(19.86923, 116.397428);  
        //创建InfoWindow , 传入 view, 地理坐标, y 轴偏移量 
        InfoWindow mInfoWindow = new InfoWindow(button, pt, -47);  
        //显示InfoWindow  
        mBaiduMap.showInfoWindow(mInfoWindow);*/
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        // 在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
        mv_cameras.onDestroy();
    }

    @Override
    protected void onResume() {
        super.onResume();
        // 在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
        mv_cameras.onResume();
    }

    @Override
    protected void onPause() {
        super.onPause();
        // 在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
        mv_cameras.onPause();
    }
}

效果图如下:
这里写图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用 JavaScript 调用百度地图并刷新位置,你可以按照以下步骤进行操作: 1. 首先,在你的 HTML 文件中引入百度地图的 JavaScript API。你需要在 `<head>` 标签中添加如下代码: ```html <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=YOUR_API_KEY"></script> ``` 请将 `YOUR_API_KEY` 替换为你自己的百度地图 API 密钥。 2. 在适当的位置创建一个用于显示地图的 `<div>` 元素,并为其指定一个唯一的 ID,比如 `map`。 ```html <div id="map"></div> ``` 3. 在 JavaScript 代码中,使用 API 提供的函数来初始化地图。同时,你也可以在初始化地图设置地图初始位置和缩放级别。 ```javascript // 初始化地图 function initMap() { // 创建一个新的地图实例 var map = new BMap.Map("map"); // 设置地图初始位置和缩放级别 var point = new BMap.Point(116.404, 39.915); map.centerAndZoom(point, 15); // 刷新位置 refreshLocation(map); } // 刷新位置 function refreshLocation(map) { // 使用地图实例的方法来更新位置 // 比如设置新的中心点坐标或者添加标记等 // 这里只是一个简单的示例 var newPoint = new BMap.Point(116.404, 39.915); map.setCenter(newPoint); } // 在页面加载完成后调用初始化函数 window.onload = initMap; ``` 在上面的代码中,`initMap` 函数用于初始化地图,`refreshLocation` 函数用于刷新位置。你可以根据实际需求在 `refreshLocation` 函数中编写代码来更新地图上的位置信息。 请确保你已经将 `YOUR_API_KEY` 替换为你自己的百度地图 API 密钥。 希望以上信息能帮到你!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值