精华内容
下载资源
问答
  •  打开页面左侧,输入企业详细地址,然后点查找,即可右侧的地图中显示企业具体位置。   步骤三:设置地图   主要是设置地图的尺寸大小,其它按照默认即可,比如我们要调用的地图大小宽度为600像素...

    步骤一:

    打开下面这个地址:http://api.map.baidu.com/lbsapi/creatmap/index.html 

    步骤二:定位中心点 

        在打开的页面左侧,输入企业的详细地址,然后点查找,即可在右侧的地图中显示企业的具体位置。 

    步骤三:设置地图 

        主要是设置地图的尺寸大小,其它的按照默认即可,比如我们要调用的地图大小宽度为600像素,高度为500像素
    步骤四:添加标注 
        这是关键的一步,点开后,我们点选那个绿色的小点图标,然后在地图上企业所在的位置点击一下,即可标注好地点,标记好了之后,在标记图标的下面有“名称”和“备注”两个输入框,这里可以输入企业名称和企业相关的信息,一定不能浪费掉。编辑好之后,千万不要忘记点保存,否则无效的。 
    步骤五:获取代码 
        上面都设置好之后,我们点击下面的“获取代码”按钮即可获得地图的调用代码。全部复制下来,然后在桌面上新建一个文本文档,将代码复制进去后保存。重命名文本为:“baidumap.html”
    步骤六:将baidumap.html这个文件上传到自己空间的根目录下。 
        在我们需要调用地图的地方,插入以下代码: 
        <iframe src="/baidumap.html" frameBorder=0 height=600 width=500 scrolling=no></iframe> 
        height=600指的是地图的高度;width=500指的是地图的宽度,这个根据实际地图大小来修改,不写也可以的。 
    展开全文
  • 商家如何自己的全国连锁店放置到云图,并且支付宝服务窗中提供地图查询功能。本文所包含的地图服务为: 1、按城市查询门店地址; 2、列表模式和地图模式的方便切换; 3、调起打电话服务,更快与客户直接接触;...

    原文:【云图】如何设置支付宝里的家乐福全国连锁店地图?

     摘要:本文详细讲解了,如何设置支付宝服务窗。商家如何将自己的全国连锁店放置到云图上,并且在支付宝服务窗中提供地图查询功能。本文所包含的地图服务为:

    1、按城市查询门店地址;

    2、列表模式和地图模式的方便切换;

    3、调起打电话服务,更快与客户直接接触;

    4、地图定位,导航,查周边。

     

    ----------------------------------------------------------------------------

    一、支付宝

    1、服务窗设置

    登录支付宝服务窗:https://fuwu.alipay.com/platform/queryMenu.htm

    自定义菜单 -> 主菜单 -> 有子级菜单

    填写子菜单名称,设置为跳转网页,并且放入网址。比如家乐福门店的网址:http://zhaoziang.com/amap/carrefour.html  

    (家乐福门店地图的制作在第三部分 云图)

    最后点击发布。

     

    2、生成二维码

    在服务未审核通过之前,只能通过二维码进行关注。

    账户设置 -> 基本信息

    将您的二维码分享到微博,让更多的人知道你提供支付宝服务。

     

    3、查看效果

    打开支付宝客户端,扫描二维码。

     

    立刻添加 -> 立刻查看 -> 成功案例 -> 家乐福

     

    二、数据准备

    1、门店数据

    从家乐福官网上获取门店数据:http://www.carrefour.com.cn/Store/Store.aspx

    存入excel中,并保存为CSV格式,uft-8编码。(小于10000条数据)

     

    该教程为示例,所以只提供了北京和广州2个城市的门店数据。其中,广州数据为:

    name,address,tel,pic
    金沙店,广州市海珠区工业大道北76-80号家信商业中心,(020) 8961 1230,http://imgs.carrefour.com.cn/Store/678_282_D34209E77BF840058C2B6F5CBAE27610.jpg
    康王店,广州市荔湾区康王中路656号新光城市广场地下一、二层,(020) 8133 7619,http://imgs.carrefour.com.cn/Store/678_282_974C095FE09144C6B22C35CD95A8673D.jpg
    万国店,广州海珠区前进路40号万国广场2-3楼,(020) 8426 2633,http://imgs.carrefour.com.cn/Store/678_282_A6F46DFAA74E488AB0F69413F4CE411A.jpg
    新市店,广州市白云区机场路1339号百信广场家乐福,(020) 3663 5319,http://imgs.carrefour.com.cn/Store/678_282_594A48A43B994586955F7CFB4C340BA9.jpg
    员村店,广州市天河区员村恒隆街3号,(020) 8564,http://imgs.carrefour.com.cn/Store/678_282_ED02FD7F9D1D4901A17144A9B3CC98D6.jpg

     

    2、登录云图,导入数据。

    登录云图:http://yuntu.amap.com/datamanager/index.html

    点击新建地图 

     

    导入CSV表格数据,然后预览。

     

    就能看到全国门店分布图了

     

    三、云图的网页制作

    为了让地图可以进行分城市查询,列表模式展示,调起打电话功能,调起地图导航、地图定位、搜索周边等功能,需要一段网站代码。

    代码已经写好了,只需要你加入key和tableID即可。

    1、获取key的位置:http://api.amap.com/key

    2、获取云图tableID:进入你的云图->获取tableID

     

    3、代码

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <title>家乐福全国门店</title>
    <style>
    /** reset **/
    body,html,div,p,li,ul,ol,p,select,h3{padding:0;margin:0;}
    body,html{width:100%;height:100%;}
    img{border:none;}
    a{text-decoration:none;}
    a:hover{color:#FF7F27;}
    body{color:#333;font-family:"Microsoft YaHei";text-align:center;font-size:14px;}
    img:hover{filter:alpha(opacity=90);-moz-opacity:0.9;-khtml-opacity: 0.9;opacity: 0.9;}
    ul,li{list-style:none;}
    /** clearfix **/
    .clearfix{display:block;zoom:1;}
    .clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}
    /** zhifubao **/
    .header{width:100%;height:10%;float:left;background:#b3ffd7;}
    .header select{width:60%;height:100%;float:left;padding:1px;font-size:16px;}
    .btnChange{width:39%;height:100%;float:left;overflow:hidden;font-size:16px;line-height:3.5em;}
    #map,#list{height:90%;width:100%;}
    #list{text-align:left;}
    .item{border-bottom:1px dashed #ccc;padding:10px;}
    </style>
    <script language="javascript" src="http://webapi.amap.com/maps?v=1.2&key=【您的key】"></script>
    </head>
    <body onLoad="mapInit()">
        <div class="header clearfix">
            <select onchange="getType(this.options[this.selectedIndex].text)" >
                <option>北京</option>
                <option>广州</option>
                <option>全国</option>
            </select>
            <div class="btnChange">
                <a id="iListBtn" onclick="display('list','iMapBtn');" href="javascript:void(0);">列表模式</a>
                <a id="iMapBtn" style="display:none;" onclick="display('map','iListBtn');" href="javascript:void(0);">地图模式</a>
            </div>
        </div>
        <div id="map" class="clearfix"></div>
        <div id="list" style="display:none;">正在读取数据……</div>
    </body>
    <script language="javascript">
    function display(id1,id2){
        document.getElementById('map').style.display = 'none';
        document.getElementById('list').style.display = 'none';
        document.getElementById('iListBtn').style.display = 'none';
        document.getElementById('iMapBtn').style.display = 'none';
        document.getElementById(id1).style.display = 'block';
        document.getElementById(id2).style.display = 'block';
        if (id1 === 'map' && mapObj) {
            mapObj.setFitView();
        }
    }
    var mapObj;
    var cloudDataLayer;
    var cloudSearch;
    var pBeijing = new AMap.LngLat(116.38298,39.955543);
    //初始化地图对象,加载地图
    function mapInit(){
        mapObj = new AMap.Map("map",{
        resizeEnable: true,
        center: pBeijing, //地图中心点
        level:12  //地图显示的比例尺级别
        });
        myCloudList("北京");
    }
    //云图加载列表
    function myCloudList(id){
        //列表
        mapObj.plugin(["AMap.CloudDataSearch"], function() {
            //绘制多边形
            var arr = new Array();
            arr.push(new AMap.LngLat(75.585938,52.696361));
            arr.push(new AMap.LngLat(134.472656,53.956086));
            arr.push(new AMap.LngLat(129.726563,16.467695));
            arr.push(new AMap.LngLat(81.914063,20.13847));
            arr.push(new AMap.LngLat(75.585938,52.696361));
            var searchOptions = {
                keywords: id,
                pageSize:100
            };
            cloudSearch = new AMap.CloudDataSearch('【您的tableID】', searchOptions); //构造云数据检索类
            AMap.event.addListener(cloudSearch, "complete", cloudSearch_CallBack); //查询成功时的回调函数
            AMap.event.addListener(cloudSearch, "error", errorInfo); //查询失败时的回调函数
            cloudSearch.searchInPolygon(arr); //多边形检索
        });
    }
    var markers = new Array(); 
    var windowsArr = new Array();
    //添加marker和infowindow     
    function addmarker(i, d){  
        var lngX = d._location.getLng();  
        var latY = d._location.getLat();  
        var IconOptions = {
            image : "carrefour.png", //您的个性化图标
            size : new AMap.Size(33,22),
            imageSize : new AMap.Size(33,22),
            imageOffset : new AMap.Pixel(-16,0)
        };
        var myIcon = new AMap.Icon(IconOptions);
        var markerOption = {  
            map:mapObj,  
            icon: myIcon,   
            offset: new AMap.Pixel(-15,-30),   
            position:new AMap.LngLat(lngX, latY)    
        };              
        var mar = new AMap.Marker(markerOption);    
        markers.push(new AMap.LngLat(lngX, latY));  
      
        var infoWindow = new AMap.InfoWindow({  
            content: "<h3>" + d._name + "</h3>" + "<img style=\"width:280px;height:180px;overflow:hidden;\" src='" + d.pic + "' /><p>地址:" + d._address + "</p>" + "<p>电话:<a href=\"tel:" + d.tel + "\">" + d.tel + "</a></p><p style=\"text-align:right\"><a href='http://mo.amap.com/?q=" + d._location.getLat() + "," + d._location.getLng() + "&name=" + d._name + "'>到这儿去</a></p>",
            size:new AMap.Size(280, 0),  
            autoMove:true,  
            offset:new AMap.Pixel(0,-30),
            closeWhenClickMap: true        
        });    
        windowsArr.push(infoWindow);     
        var aa = function(){infoWindow.open(mapObj, mar.getPosition());};    
        AMap.event.addListener(mar, "click", aa);    
    }
    //回调函数-成功
    function cloudSearch_CallBack(data) {
        clearMap();
        var resultStr="";
        var resultArr = data.datas;
        var resultNum = resultArr.length;
        for (var i = 0; i < resultNum; i++) {
            resultStr += "<div class=\"item\">";
            resultStr += "<h3>" + (i+1) + "" + resultArr[i]._name + "</h3>";
            resultStr += "<p>地址:" + resultArr[i]._address + "</p>";
            resultStr += "<p>电话:<a href=\"tel:" + resultArr[i].tel + "\">" + resultArr[i].tel + "</a></p>";
            resultStr += "<p>地图:<a href='http://mo.amap.com/?q=" + resultArr[i]._location.getLat() + "," + resultArr[i]._location.getLng() + "&name=" + resultArr[i]._name + "'>到这里去</a></p>";
            resultStr += "</div>";
            addmarker(i, resultArr[i]); //添加大标注
        }
        if (document.getElementById('map').style.display !== 'none') {
            mapObj.setFitView();
        }
        document.getElementById("list").innerHTML = resultStr;
    }
    //回调函数-失败
    function errorInfo(data) {
        resultStr = data.info;
        document.getElementById("list").innerHTML = resultStr;
    }
    //清空地图
    function clearMap(){
        mapObj.clearMap();
        document.getElementById("list").innerHTML = '正在读取数据……';
    }
    //索引云图
    function getType(iPrivance){
        if(iPrivance=="全国"){
            if (document.getElementById('map').style.display !== 'none') {
                mapObj.setZoomAndCenter(4,new AMap.LngLat(114.433594,33.651208));
            }
            myCloudList('');
            var op={
                query:{keywords:""}
            };
            cloudDataLayer.setOptions(op);
        }else{
            myCloudList(iPrivance);
            var op={
                query:{keywords:iPrivance}
            };
            cloudDataLayer.setOptions(op);
            placeSearch(iPrivance);
        }
    }
    //城市查询
    function placeSearch(id) {
        var MSearch;
        mapObj.plugin(["AMap.PlaceSearch"], function() {
            MSearch = new AMap.PlaceSearch({ //构造地点查询类
                pageSize:1,
                pageIndex:1,
                city:"" //城市
            });
            AMap.event.addListener(MSearch, "complete", keywordSearch_CallBack);//返回地点查询结果
            MSearch.search(id); //关键字查询
        });
    }
    //城市查询后定位
    function keywordSearch_CallBack(data) {
        var iPoint = data.poiList.pois[0].location;
        mapObj.setZoomAndCenter(10,iPoint);
    }
    </script>
    </html>

     

    4、将以上代码生成网址,填写到支付宝服务窗里。完成!

    demo链接:http://zhaoziang.com/amap/carrefour.html

     

     

    展开全文
  • 如何在HTMl网页中插入百度地图

    千次阅读 2016-11-25 16:42:00
    方法/步骤 ... 如下图: 2、“1.定位中心点”中,切换城市,...设置地图”中,可以按照自己的喜好修改地图的外观: a、地图的宽和高 b、地图上显示的按钮(缩放、缩略图、比例尺) c、鼠标和键盘对地图的操作 ...

    方法/步骤

    1、打开“百度地图生成器”的网址:http://api.map.baidu.com/lbsapi/creatmap/index.html

    如下图:

    2、在“1.定位中心点”中,切换城市,并查找具体位置,如下图:

    3、在“2.设置地图”中,可以按照自己的喜好修改地图的外观:

    a、地图的宽和高

    b、地图上显示的按钮(缩放、缩略图、比例尺)

    c、鼠标和键盘对地图的操作

    如下图:

    4、在“3.添加标注”中,可以添加自己想要标注的位置和信息,如下图:

    5、在“第二步 获取代码”中,点击“获取代码”按钮,就会弹出根据上面的设置生成代码,如下图:

    6、把上一步生成的代码保存为html文件(我这里保存为map.html),在浏览器中打开就可以看到自己定义的百度地图了。

     

    如果要把地图添加到现有的网页中,可以使用iframe标签,如:

    <iframe src="map.html" width="600" height="300" frameborder="0" scrolling="no"></iframe>

    转载于:https://www.cnblogs.com/qq450867541/p/6102185.html

    展开全文
  • 那么如何在百度地图上定位某一个位置呢?通过类GeoPoint可以定义经纬度,它存放着纬度值和经度值,通过位置提供getLastKnownLocation()方法可以获取Location对象,再定位经纬度设置其为中心,同时讲述了百度POI(Point ...

    一. 百度地图城市定位和POI搜索知识

          上一篇文章"百度地图开发(一)"中讲述了如何申请百度APIKey及解决显示空白网格的问题.该篇文章主要讲述如何定位城市位置、定位自己的位置和进行城市兴趣点POI(Point of Interest)搜索.那么如何在百度地图上定位某一个位置呢?
          通过类GeoPoint可以定义经纬度,它存放着纬度值和经度值,通过getLastKnownLocation()方法可以获取Location对象,再定位经纬度设置其为地图中心即可显示当前位置.
          其中Geopoint(纬度值,经度值)以微度为单位,需要乘以10的6次方.核心代码如下:

    //通过网络获取当前位置
    String provider = LocationManager.NeTWORK_PROVIDER;
    Location location = locationManager.getLastKnownLocation(provider);
    Geopoint point = new Geopoint((int)(location.getLatitude*1E6), 
    	(int)(location.getLongitude*1E6));
    mMapController.setCenter(point);
         同样的道理,如果知道了城市的经纬度就可以设置其为当前地图中心,这样就实现了定位城市位置的功能.那么怎样获取城市的经纬度呢?
          百度Map API提供MKSearch.geocode(String address, String city)方法进行GEO地理编码检索,它的意思就是搜索某个城市具体地址的位置,而如果只搜索城市使用geocode(city, city)即可.同时逆地址解析函数MKSearch.reverseGeocode(new GeoPoint(latitude, longitude))可以实现通过输入经纬度查询具体地址.
         
    其中核心代码如下(代码放置位置不同,详见后面实例):
    //初始化MKSearch
    mMKSearch = new MKSearch();
    mMKSearch.init(mBMapManager, new MySearchListener()); 
    //搜索城市
    mMKSearch.geocode(city, city);
    //内部类实现MKSearchListener接口,实现异步搜索服务
    public class MySearchListener implements MKSearchListener {  
    
    	@Override  
        public void onGetAddrResult(MKAddrInfo result, int iError) { 
        	//经纬度与地址搜索
        	...
        	mMapController.setCenter(result.geoPt);
        }
    }
         其中百度地图API搜索主要通过初始化MKSearch类,同时其结果监听对象MKSearchListener类来实现一部搜索服务.在该类中有很多方法实现不同功能,其中onGetAddrResult()方法可以根据经纬度搜索地址信息,而我们需要实现的POI兴趣点搜索是通过onGetPoiResult()实现的,同样公交路线等搜索都可以通过它实现.
          具体核心代码如下:
    //内部类实现MKSearchListener接口,实现异步搜索服务
    public class MySearchListener implements MKSearchListener {  
        //经纬度与地址搜索结果
        public void onGetAddrResult(MKAddrInfo result, int iError) {
        }
        //POI搜索结果(范围检索、城市POI检索、周边检索)
        public void onGetPoiResult(MKPoiResult result, int type, int iError) {  
        }
        //驾车路线搜索结果 
        public void onGetDrivingRouteResult(MKDrivingRouteResult result, int iError) {
        }
        //公交换乘路线搜索结果
        public void onGetTransitRouteResult(MKTransitRouteResult result, int iError) {  
    	} 
        //步行路线搜索结果
        public void onGetWalkingRouteResult(MKWalkingRouteResult result, int iError) {  
        }
        //获取详细信息
        public void onGetBusDetailResult(MKBusLineResult arg0, int arg1) {
        }
        public void onGetPoiDetailSearchResult(int arg0, int arg1) {
        }
        public void onGetShareUrlResult(MKShareUrlResult arg0, int arg1,int arg2) {
        }
        public void onGetSuggestionResult(MKSuggestionResult arg0, int arg1) {
        }
    }
          在android使用百度地图中可以添加地图覆盖物,那么什么是覆盖物呢?
          所有叠加或覆盖到地图的内容,我们统称为地图覆盖物.如标注、矢量图形元素(包括:折线和多边形和圆)、定位图标等.覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动.

          地图API提供了如下几种覆盖物:
          1.Overlay 覆盖物的抽象基类,所有的覆盖物均继承此类的方法,实现用户自定义图层显示.
          2.MyLocationOverlay 一个负责显示用户当前位置的Overlay.
          3.ItemizedOverlay<Item extends OverlayItem> 它是Overlay的一个基类,包含了一个OverlayItem列表,相当于一组分条的Overlay,通过继承此类将一组兴趣点显示在地图上.
          4.PoiOverlay 本地搜索图层,提供某一特定地区的位置搜索服务,比如在北京市搜索“公园”,通过此图层将公园显示在地图上.
          5.RouteOverlay 步行驾车导航线路图层,将步行驾车出行方案的路线及关键点显示在地图上.
          6.TransitOverlay 
    公交换乘线路图层,将某一特定地区的公交出行方案的路线及换乘位置显示在地图上.
          我们这里可以使用MyLocationOverlay定位自己当前位置添加覆盖物,也可以在POI搜索过程中通过PoiOverlay添加搜索的兴趣点覆盖物.下面讲述代码及实现.

    二. 源码实现

          下载地址:http://download.csdn.net/detail/eastmount/8292969
          首先,设置其activity_main.xml布局

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#000000"
        tools:context="com.example.baidumapshow.MainActivity"
        tools:ignore="MergeRootFrame" >
        <!-- 顶部路径 -->
        <RelativeLayout 
            android:id="@+id/MyLayout_top"
            android:orientation="horizontal" 
            android:layout_width="fill_parent"
            android:layout_height="40dp" 
            android:layout_alignParentTop="true"
            android:gravity="center">
        <LinearLayout  
            android:orientation="horizontal"  
            android:layout_width="fill_parent"  
            android:layout_height="wrap_content"    
            android:background="@null"  
            android:padding="0dip" >  
            <EditText android:id="@+id/city_edittext"  
                android:layout_width="wrap_content"  
                android:layout_height="wrap_content"  
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="5dp"
                android:background="#ffffff" 
                android:textSize="22dp" 
                android:hint="输入城市"
                android:layout_weight="15" />
            <EditText android:id="@+id/keyword_edittext"  
                android:layout_width="wrap_content"  
                android:layout_height="wrap_content"  
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="5dp"
                android:background="#ffffff" 
                android:textSize="22dp" 
                android:hint="输入关键词"
                android:layout_weight="25" />  
            <Button android:id="@+id/query_button"  
                android:layout_width="wrap_content"  
                android:layout_height="wrap_content"  
                android:layout_gravity="center_vertical"   
                android:textColor="#ffffff"
                android:textSize="20dp"
                android:text="搜索" />  
        </LinearLayout> 
        </RelativeLayout>
        <!-- 底部添加按钮 -->  
        <RelativeLayout  
            android:id="@+id/MyLayout_bottom"  
            android:orientation="horizontal"   
            android:layout_width="fill_parent"  
            android:layout_height="50dp"  
            android:layout_alignParentBottom="true"  
            android:gravity="center">  
            <LinearLayout   
                android:layout_width="match_parent"  
                android:layout_height="match_parent"  
                android:orientation="horizontal"  
                android:layout_alignParentBottom="true" >  
                <Button  
                     android:id="@+id/button1"  
                     android:layout_width="wrap_content"  
                     android:layout_height="match_parent"  
                     android:layout_weight="1"  
                     android:textColor="#ffffff"
                     android:text="定位" />  
            </LinearLayout>  
        </RelativeLayout>  
        <!-- 中部显示图片 -->
        <RelativeLayout
            android:id="@+id/Content_Layout" 
            android:orientation="horizontal"
            android:layout_width="fill_parent" 
            android:layout_height="fill_parent"
            android:layout_above="@id/MyLayout_bottom" 
            android:layout_below="@id/MyLayout_top"
            android:gravity="center">
            <com.baidu.mapapi.map.MapView  
    		    android:id="@+id/map_view"
    		    android:layout_width="fill_parent"  
    		    android:layout_height="fill_parent"  
    		    android:clickable="true" />
        </RelativeLayout>
    </RelativeLayout>

          然后是MainActivity.java源码

    public class MainActivity extends Activity {
    	
    	//BMapManager 对象管理地图、定位、搜索功能
    	private BMapManager mBMapManager;  
    	private MapView mapView = null;               //地图主控件 
    	private MapController mMapController = null;  //地图控制 
    	MKMapViewListener mMapListener = null;        //处理地图事件回调 
    	private MKSearch mMKSearch;                   //定义搜索服务类
    	//搜索
    	private EditText keyWordEditText;  
    	private EditText cityEditText;
    	private Button queryButton; 
    	private static StringBuilder sb;  
    	private MyLocationOverlay myLocationOverlay;
    	
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            
            /**
             * 创建对象BMapManager并初始化操作
             * V2.3.1中init(APIKey,null) V2.4.1在AndroidManifest中赋值AK
             * 注意 初始化操作在setContentView()前
             */
            mBMapManager = new BMapManager(getApplication());  
            mBMapManager.init(null); 
            setContentView(R.layout.activity_main);  
            mapView = (MapView) findViewById(R.id.map_view);  
            cityEditText = (EditText) findViewById(R.id.city_edittext);
            keyWordEditText = (EditText) findViewById(R.id.keyword_edittext);
            queryButton = (Button) findViewById(R.id.query_button);
            
            mMapController = mapView.getController(); //获取地图控制器
            mMapController.enableClick(true);         //设置地图是否响应点击事
            mMapController.setZoom(16);               //地图缩放级别(3-19级) 级别越高信息越详细
            mapView.setBuiltInZoomControls(true);     //显示内置缩放控件
              
            /**
             * 获取学校经纬度 设置地图中心点
             */
            GeoPoint point = new GeoPoint((int)(39.96703 * 1E6), (int)(116.323772 * 1E6));  
            mMapController.setCenter(point);  
            mapView.regMapViewListener(mBMapManager, new MKMapViewListener() {  
                  
                /** 
                 * 地图移动完成时会回调此接口方法 
                 */  
                @Override  
                public void onMapMoveFinish() {  
                	//Toast.makeText(MainActivity.this, "地图移动", Toast.LENGTH_SHORT).show();
                }  
                  
                /** 
                 * 地图加载完毕回调此接口方法 
                 */  
                @Override  
                public void onMapLoadFinish() {  
                	Toast.makeText(MainActivity.this, "地图载入", Toast.LENGTH_SHORT).show();
                }  
                  
                /** 
                 *  地图完成带动画的操作(如: animationTo())后,此回调被触发 
                 */  
                @Override  
                public void onMapAnimationFinish() {  
                      
                }  
                  
                /** 
                 *  当调用过 mMapView.getCurrentMap()后,此回调会被触发 
                 *  可在此保存截图至存储设备 
                 */  
                @Override  
                public void onGetCurrentMap(Bitmap arg0) {  
                     
                }  
                  
                /** 
                 * 点击地图上被标记的点回调此方法
                 */  
                @Override  
                public void onClickMapPoi(MapPoi arg0) {  
                    if (arg0 != null){  
                        Toast.makeText(MainActivity.this, arg0.strText, Toast.LENGTH_SHORT).show();
                    }  
                }  
            });  
            
            /**
             * 初始化MKSearch 调用城市和POI搜索  
             */
            mMKSearch = new MKSearch();
            mMKSearch.init(mBMapManager, new MySearchListener()); 
            queryButton.setOnClickListener(new OnClickListener() {  
                @Override  
                public void onClick(View v) {  
                    mMapController = mapView.getController();
                	mMapController.setZoom(10);  
                    sb = new StringBuilder();  //内容清空  
                    //输入正确城市关键字
                    String city = cityEditText.getText().toString().trim();  
                    String keyWord = keyWordEditText.getText().toString().trim();  
                    if(city.isEmpty()) { //默认城市设置为贵阳
                    	city="贵阳";
                    }
                    //如果关键字为空只搜索城市 GEO搜索 geocode(adress,city) 具体地址和城市
                    if(keyWord.isEmpty()) {
                    	mMKSearch.geocode(city, city);     
                    } 
                    else {
                    	//搜索城市+关键字 
                        mMKSearch.setPoiPageCapacity(10);  //每页返回POI数
                        mMKSearch.poiSearchInCity(city, keyWord); 
                    }
                }  
            });  
        }
        
        @Override
    	protected void onResume() {
    		mapView.onResume();
    		if (mBMapManager != null) {
    			mBMapManager.start();
    		}
    		super.onResume();
    	}
        
        @Override
    	protected void onDestroy() {
    		mapView.destroy();
    		if (mBMapManager != null) {
    			mBMapManager.destroy();
    			mBMapManager = null;
    		}
    		super.onDestroy();
    	}
    
    	@Override
    	protected void onPause() {
    		mapView.onPause();
    		if (mBMapManager != null) {
    			mBMapManager.stop();
    		}
    		super.onPause();
    	}	
    	
    	/** 
         * 内部类实现MKSearchListener接口,用于实现异步搜索服务 
         */  
        public class MySearchListener implements MKSearchListener {  
            
        	/** 
             * 根据经纬度搜索地址信息结果 
             * 同时mMKSearch.geocode(city, city)搜索城市返回至该函数
             * 
             * @param result 搜索结果 
             * @param iError 错误号(0表示正确返回) 
             */  
            @Override  
            public void onGetAddrResult(MKAddrInfo result, int iError) {  
            	if (result == null) {  
                    return;  
                }  
                StringBuffer sbcity = new StringBuffer();  
                sbcity.append(result.strAddr).append("\n"); //经纬度所对应的位置  
            	mapView.getOverlays().clear();          //清除地图上已有的所有覆盖物  
                mMapController.setCenter(result.geoPt);     //置为地图中心
                //添加原点并刷新
                LocationData locationData = new LocationData();
                locationData.latitude = result.geoPt.getLatitudeE6();
                locationData.longitude = result.geoPt.getLongitudeE6();
                myLocationOverlay = new MyLocationOverlay(mapView);
                myLocationOverlay.setData(locationData);
    			mapView.getOverlays().add(myLocationOverlay);
    			mapView.refresh();
                // 通过AlertDialog显示地址信息
                new AlertDialog.Builder(MainActivity.this)  
                .setTitle("显示当前城市地图")  
                .setMessage(sbcity.toString())  
                .setPositiveButton("关闭", new DialogInterface.OnClickListener() {  
                    public void onClick(DialogInterface dialog, int whichButton) {  
                        dialog.dismiss();  
                    }  
                }).create().show();
            }  
      
            /** 
             * POI搜索结果(范围检索、城市POI检索、周边检索) 
             *  
             * @param result 搜索结果 
             * @param type 返回结果类型(11,12,21:poi列表 7:城市列表) 
             * @param iError 错误号(0表示正确返回) 
             */  
            @Override  
            public void onGetPoiResult(MKPoiResult result, int type, int iError) {  
            	if (result == null) {  
                    return;  
                }    
                //获取POI并显示
                mapView.getOverlays().clear(); 
                PoiOverlay poioverlay = new PoiOverlay(MainActivity.this, mapView);
                poioverlay.setData(result.getAllPoi());  //设置搜索到的POI数据  
                mapView.getOverlays().add(poioverlay);   //兴趣点标注在地图上
                mapView.refresh(); 
                //设置其中一个搜索结果所在地理坐标为地图的中心  
                if(result.getNumPois() > 0) {  
                    MKPoiInfo poiInfo = result.getPoi(0);  
                    mMapController.setCenter(poiInfo.pt);  
                }  
                //添加StringBuffer 遍历当前页返回的POI (默认只返回10个)
                sb.append("共搜索到").append(result.getNumPois()).append("个POI\n");  
                for (MKPoiInfo poiInfo : result.getAllPoi()) {  
                    sb.append("名称:").append(poiInfo.name).append("\n");
                }
             	// 通过AlertDialog显示当前页搜索到的POI  
                new AlertDialog.Builder(MainActivity.this)  
                .setTitle("搜索到的POI信息")  
                .setMessage(sb.toString())  
                .setPositiveButton("关闭", new DialogInterface.OnClickListener() {  
                    public void onClick(DialogInterface dialog, int whichButton) {  
                        dialog.dismiss();  
                    }  
                }).create().show();
            }  
      
            /** 
             * 驾车路线搜索结果 
             *  
             * @param result 搜索结果 
             * @param iError 错误号(0表示正确返回) 
             */  
            @Override  
            public void onGetDrivingRouteResult(MKDrivingRouteResult result, int iError) {  
            }  
            
            /** 
             * 公交换乘路线搜索结果 
             *  
             * @param result 搜索结果 
             * @param iError 错误号(0表示正确返回) 
             */  
            @Override  
            public void onGetTransitRouteResult(MKTransitRouteResult result, int iError) {  
            }  
      
            /** 
             * 步行路线搜索结果 
             *  
             * @param result 搜索结果 
             * @param iError 错误号(0表示正确返回) 
             */  
            @Override  
            public void onGetWalkingRouteResult(MKWalkingRouteResult result, int iError) {  
            }
    
    		@Override
    		public void onGetBusDetailResult(MKBusLineResult arg0, int arg1) {
    			// TODO Auto-generated method stub
    		}
    
    		@Override
    		public void onGetPoiDetailSearchResult(int arg0, int arg1) {
    			// TODO Auto-generated method stub
    		}
    
    		@Override
    		public void onGetShareUrlResult(MKShareUrlResult arg0, int arg1, int arg2) {
    			// TODO Auto-generated method stub
    		}
    
    		@Override
    		public void onGetSuggestionResult(MKSuggestionResult arg0, int arg1) {
    			// TODO Auto-generated method stub	
    		}
        }  
    
    }
         最后设置AndroidManifest.xml文件,主要是申请网络权限和设置APIKey
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.baidumapshow"
        android:versionCode="1"
        android:versionName="1.0" >
    
        <uses-sdk
            android:minSdkVersion="19"
            android:targetSdkVersion="19" />
    
        <!-- 获取网络状态  -->
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <!-- 访问网络 -->
        <uses-permission android:name="android.permission.INTERNET" />
        <!-- 获取WiFi状态 -->
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
        <!-- 允许程序写入外部存储,如SD卡上写文件 -->
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.WRITE_SETTINGS" />
        <!-- 读取电话状态 -->
        <uses-permission android:name="android.permission.READ_PHONE_STATE" />
        <uses-permission android:name="android.permission.CALL_PHONE" />
        <!-- 获取精确位置 GPS芯片接收卫星的定位信息,定位精度达10米以内 -->
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <!-- 通过WiFi或移动基站的方式获取用户错略的经纬度信息 -->
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <!-- 获取模拟定位信息 -->
        <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_GPS" />
        
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <meta-data   
        		android:name="com.baidu.lbsapi.API_KEY"  
        		android:value="QwaNhFQ0ty2QmdYh3Nrr0gQx">
            </meta-data> 
            <activity
                android:name="com.example.baidumapshow.MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    
    </manifest>
          程序运行结果如下图所示:
          当只输入城市名的时候显示的是城市对应的地图.如下图贵阳.

      
          当输入城市+关键字时显示POI兴趣点,如北京的大学.这里设置只显示10个POI.
        
         最后我测试了下县份同样可以显示,但是城市名错误处理我没做,如施秉县.说明百度地图的API还是非常强大的,希望后面接着学习吧!
        
          最后希望文章对大家有所帮助,刚刚接触android开发百度地图,而且还是使用V2.4.1版本,同时搜索城市时没有显示覆盖物不知道其原因.如果有错误或不足之处,还请海涵!建议大家看看官方文档和百度提供的Demo.文章主要参考百度官方文档、柳峰大神博客和《Android第一行代码》.
         下载地址:http://download.csdn.net/detail/eastmount/8292969
          (By:Eastmount 2014-12-24 半夜3点
    http://blog.csdn.net/eastmount/
    参考资料及在线笔记:
          百度官方文档 http://developer.baidu.com/map/sdkandev-4.htm
          百度官方文档 Android SDK开发指南之覆盖物
          百度地图相关Demo下载 Demo v3.2.0 
          柳峰博客 [010]百度地图API之根据经纬度查询地址信息(Android
         柳峰博客 [013] 百度地图API之城市POI搜索-获取所有结果(Android)

    展开全文
  • 商家如何自己的全国连锁店放置到云图,并且支付宝服务窗中提供地图查询功能。本文所包含的地图服务为:1、按城市查询门店地址;2、列表模式和地图模式的方便切换;3、调起打电话服务,更快与客户直接接触;4、...
  • 如何获取用户当前地址,这个就要先用到小程序的定位功能:定位...第4步的安全域名设置在自己的小程序管理后台里设置 以上4步都完成后,将下载好的SDK文件放到项目里。 页面js里引入SDK: 我们需要用到的是SKD里面
  • (3)指南针位置控制:显示在地图左上角或者右角(仅举例),开发者可据实际情况任意改变位置; (4)禁用所有手势:控制是否一并禁止所有手势。 (5)设置边界区域:给地图增加边界。地图可操作区域和控件显示,...
  • JAVA百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后的公钥,将其解码,李四用张三的公钥加密信息,并发送给李四,张三用自己的私钥解密从李四处收到的信息…… Java利用DES私钥对称加密代码实例 ...
  • 将其解码,李四用张三的公钥加密信息,并发送给李四,张三用自己的私钥解密从李四处收到的信息…… Java利用DES私钥对称加密代码实例 同上 java聊天室 2个目标文件,简单。 java模拟掷骰子2个 1个目标文件,输出演示...
  • 人肉搜索技巧

    万次阅读 多人点赞 2019-10-08 14:31:34
    谷歌:PlaNet 可以搜索照片进行定位全球地图 互联网撕逼时候,总能看见那些说要人肉你,查你户口本这些威胁语句,那么,人肉搜索真有...现在人大部分都是用手机拍照,大多数相机在自己没有设置的...
  • 昆山工业技术研究院着眼于为委托用户和质检机构搭建良好的沟通桥梁,免去目前市场业务中企业用户需要实地地并频繁地与检测机构沟通,从而提出自己的委托乃至下委托单、等待检测报告等,设计并研发了市场首款提供...
  • winceGPS模拟器

    2014-01-04 01:06:02
    通过Ozi API,Ozi中双击地图上的某点, Virace就立即跳跃至该点(自由驾驶模式),或跳至离该点最近航迹(航迹 重播模式);单击地图上的某点,则以当前速度向该点行驶(自由驾驶模式)。 最多3路COM口输出,加...
  • 《iOS开发指南》(第二版 iOS7)源码

    千次下载 热门讨论 2014-03-20 11:11:59
    之后介绍了iOS 6苹果地图使用,包括了显示地图、在地图上添加标注以及跟踪用户位置变化等。最后,介绍了程序外地图使用,如何调用iOS 6苹果地图和谷歌Web地图。 . 第三部分为进阶篇,共7章,主要介绍了iOS...
  • •共享功能,用户可以其中分享当前,每小时,15天的预测,或预测使用社会媒体,他们有自己的设备安装应用的详细信息视图。购股权的Andr​​oid菜单的一部分。 •手机主屏幕的状态栏显示当前温度为电流或家庭...
  • 软件界面设计工具_3款合集

    千次下载 热门讨论 2010-06-29 03:52:47
    由于它里面控件同样可以设置下一步响应动作,所以从总体来看,众多原型就像一个树状结构,而其中父节点就是图二中的设置窗体了。这种结构具有一个很大好处:无论你完成了多个界面原型,只需要它们之间有...
  • iPhone开发秘籍(第2版)--源代码

    热门讨论 2012-12-11 13:51:22
    iPhone开发秘籍:第2版(iphone开发必备佳作,第一版基础进行了全面修订和大量扩充) 基本信息 原书名: The iPhone Developer's Cookbook: Building Applications with the iPhone 3.0 SDK (2nd Edition) 原...
  • 之后介绍了iOS 6苹果地图使用,包括了显示地图、在地图上添加标注以及跟踪用户位置变化等。最后,介绍了程序外地图使用,如何调用iOS 6苹果地图和谷歌Web地图。 . 第三部分为进阶篇,共7章,主要介绍了iOS...
  • 如果你觉得我帮助到了你,节省了你的时间,可以对我进行打赏(打赏时可以附上自己的大名和Github地址),金额随意,以表支持。 名字 Github地址 Alfred 无 LOPER7 https://github.com/loperSeven ...
  • Android高级编程--详细书签版

    热门讨论 2013-02-06 17:37:52
     由于Android构建开源代码框架之,而且提供了强大SDK库和开放理念,所以它为广大没有任何移动应用程序开发经验新手开辟了一条开发完美移动应用程序康庄大道。而富有经验移动开发人员现在也可以...
  • 支持图片地图,设备按钮可以图片地图上自由拖动自动保存位置信息。 百度地图和图片地图上,双击视频可以预览摄像头实时视频。 堆栈窗体,每个窗体都是个单独的qwidget,方便编写自己的代码。 顶部鼠标右键菜单,...
  • 实例133 如何在图片平滑移动文字 165 3.7 图像动画 167 实例134 动画背景窗体 167 实例135 随鼠标移动图像 169 实例136 十字光标定位 170 实例137 抓取鼠标形状 171 3.8 图像识别 172 实例138 ...
  • Android应用开发揭秘--详细书签版

    热门讨论 2012-12-12 13:27:46
     ·如何使用opengl esandroid平台开发出绚丽3d应用?android平台上如何更好地设计和实现游戏引擎?  ·如何对android应用进行优化?如何进行程序性能测试?如何实现ui、zipalign和图片优化?  ·如何通过...
  • 狗会因为人随手丢出一个东西而追逐,可能是一个骨头、一块肉、一个眼神,甚至是一个石头,警示一定要看清自己在追逐东西。 目录 封面 -17 扉页 -16 版权 -15 序 -14 前言 -12 自我测试 -7 目录 -4 第一部分 ...

空空如也

空空如也

1 2 3
收藏数 54
精华内容 21
关键字:

如何在地图上设置自己的定位