精华内容
下载资源
问答
  • 最近遇到定位问题,借助百度地图ApI与若干文章解决了这个问题。 相对来说,百度地图API中的示例组合起来就能达到大众的需求了,只是刚接触不知道整体是什么情况,花了点时间了解。 ——————————————...

    最近遇到定位问题,借助百度地图ApI与若干文章解决了这个问题。

    相对来说,百度地图API中的示例组合起来就能达到大众的需求了,只是刚接触不知道整体是什么情况,花了点时间了解。

    ————————————————————————————————————————————————————————————

    第一步,注册账号,在百度地图中申请一个应用,如果不是商用要求特别高,一般的就可以,免费。

    注意点,创建时注意应用类型,AK是密钥一样的作用,后面要需要。

    第二、将服务引用到Web 中

    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />  //为了移动端更好的触屏展示效果
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥">
    //v2.0版本的引用方式:src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"
    //v1.4版本及以前版本的引用方式:src="http://api.map.baidu.com/api?v=1.4&key=您的密钥&callback=initialize"
    </script>
    第三、js绑定地div

            html   <div id="allmap" style="height: 100%; width: 100%; height: 280px;"></div>
            js        
            var  map = new BMap.Map("allmap");
            var point = new BMap.Point(116.331398, 39.897445);
            map.centerAndZoom(point, 12);//默认初始化地图定位的中心经纬度
    
            map.enableScrollWheelZoom(); //启用滚轮放大缩小
            map.enableInertialDragging(); //启用地图惯性拖拽,默认禁用。
            map.enableContinuousZoom();
            var myCity = new BMap.LocalCity();
         
            myCity.get(myFun);
           function myFun(result) {
            var cityName = result.name;
            map.setCenter(cityName);//地图根据城市名称会重新自动定位
            $("#lbcCity").text(cityName);//前台显示当前定位的城市名称
    
         }
    
            为了提供手动选择地址,我使用了jquery的selectcity.js,通过省市二级联动后重新定位
            获取联动后的城市名,在js中用这句话重新定位。
            map.centerAndZoom(city, 11)
            结合bootstrap的css实现移动端效果图
    
    这篇写的比较简洁,因为官方的文档很详细了,个人只是用来记录下,没有写的太详细,见谅!

    展开全文
  • 自动定位城市

    2018-01-16 15:35:00
    像美团等网站打开的时候,都会自动跳转到我们访问者当前所在的城市,这样极大的提高了用户体验度,我们如何实现这一功能呢?其实百度API里面有这个接口插件,根据用户的IP返回出用户所在的城市名。 以下是我整理...

    像美团等网站打开的时候,都会自动跳转到我们访问者当前所在的城市,这样极大的提高了用户体验度,我们如何实现这一功能呢?其实百度API里面有这个接口插件,根据用户的IP返回出用户所在的城市名。

     

    以下是我整理出来的完整范例,手机、pc端测试都可以正常获取出城市名,大家可以参考一下:

     

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>自动获取定位访问者当前城市</title>

    <!--不可省略-->

    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>

    <!--不可省略-->

    </head>

     

    <body>

    <!--不可省略-->

    <div id="bdMapBox" style="display:none;"></div>

    <script type="text/javascript">

    // 百度地图API功能

    var map = new BMap.Map("bdMapBox");

    var nowCity = new BMap.LocalCity();

    nowCity.get(bdGetPosition);

    function bdGetPosition(result){

    var cityName = result.name;         //当前的城市名

    /*自定义代码*/

    atCity.innerHTML = cityName;

    /*自定义代码*/

    }

    </script>

    <!--不可省略-->

    <p>您当前所在的城市为:<span id="atCity"></span></p>

    </body>

    </html>

     

    运行效果:

     

    自动获取定位访问者当前城市

     

    说明一下:<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script> 没有密匙可能会在页面运行的时候弹出提示警告,为了让用户有更好的体验度,可以到百度地图开放平台 http://lbsyun.baidu.com/apiconsole/key 创建一个应用,就会得到一个密匙,填到这里就好了。

    此文章转载于:http://www.daixiaorui.com/read/133.html,转载请注明是转载于http://www.daixiaorui.com/read/133.html网址

    转载于:https://www.cnblogs.com/hezhilong/p/8296941.html

    展开全文
  • 该项目结合了百度地图的定位API和和风天气的城市搜索API,目的在于为天气预报提供一个定位接口。利用该接口可以直接向和风天气的天气API直接申请定位地的天气情况。 思路:利用百度地图API的网络定位+GPS定位功能...

    定位项目示例:

    项目介绍:

        该项目结合了百度地图的定位API和和风天气的城市搜索API,目的在于为天气预报提供一个定位接口。利用该接口可以直接向和风天气的天气API直接申请定位地的天气情况。

        思路:利用百度地图API的网络定位+GPS定位功能产生两个参数:经度,纬度。然后把经纬度传递给和风天气的城市搜索API,API会根据经纬度返回该位置的一个城市代号(cityid),该id可以直接向和风天气的天气API申请获取天气信息。

        其实这个可以作为《第一行代码》课本后面的酷欧天气项目的定位功能拓展,它们都是使用了和风天气的API。

    项目流程:

    一、首先我们需要了解这3个API:

            1.百度地图定位API:http://lbsyun.baidu.com/index.php?title=android-locsdk

            2.和风天气城市搜索API:https://dev.heweather.com/docs/search/find

            3.和风天气天气数据API:https://dev.heweather.com/docs/api/weather

    注册百度开发者,申请一个API Key,并且下载所需的SDK(地址:http://lbsyun.baidu.com/index.php?title=android-locsdk/geosdk-android-download),配置好项目。《第一行代码第2版》P379~386 有详细介绍,实在不懂的可以给我留言。

    二、代码实现部分:

    先修改AndroidManifest.xml,申请必要的权限

        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
        <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
        <uses-permission android:name="android.permission.INTERNET"/>
        <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
        <uses-permission android:name="android.permission.WAKE_LOCK"/>
    
           
        <service android:name="com.baidu.location.f" android:enabled="true"
                android:process=":remote">
            </service>
    
            <meta-data
                android:name="com.baidu.lbsapi.API_KEY"
                android:value="这里是放百度API Key的"/>

    然后利用百度地图的定位API获取经纬度:

    //    定位函数
        private void requestLocation()
        {
            initLocation();//定位初始化
            mLocationClient.start();//开始定位
        }
    //    定位初始化
        private void initLocation()
        {
            LocationClientOption option=new LocationClientOption();
            option.setScanSpan(5000);//每隔5s刷新一下
            option.setLocationMode(LocationClientOption.LocationMode.Device_Sensors);//开启GPS定位
            mLocationClient.setLocOption(option);
        }
     //    定位结果信息赋值
        public class MyLocationListener implements BDLocationListener {
            @Override
            public void onReceiveLocation(BDLocation location)
            {
                LongitudeId=location.getLongitude();//经度获取
                LatitudeId=location.getLatitude();//纬度获取
                System.out.println("经度0:"+LongitudeId);
                System.out.println("纬度0:"+LatitudeId);
                requestCityInfo(LongitudeId,LatitudeId);//获取定位城市的ID
            }
    
        }
    //    用经纬度向服务器请求获取城市json
        public void requestCityInfo(double longitude,double latitude)
        {
            String cityUrl="https://search.heweather.net/find?location="+longitude+","+latitude+"&key=8e669fb35db1436496ad76e9aec7ba60";
            System.out.println("请求链接:"+cityUrl);
    
            HttpUtil.sendOkHttpRequest(cityUrl, new Callback() {
    
                @Override
                public void onResponse(Call call, Response response) throws IOException {
                    final String responseCityInfoText=response.body().string();
                    System.out.println("返回的信息:"+responseCityInfoText);
    //                把返回的数据交到Utility进行Gson解析
                    cityId CITYID=new cityId();
                    CITYID=Utility.handleCityIdResponse(responseCityInfoText);
                    for (cityInfo_basic basic:CITYID.basicsList)
                    {
                        CityID=basic.cityID;
                        LocationName=basic.LocationName;
                        Parent_cityName=basic.Parent_cityName;
                        Admin_areaName=basic.Admin_areaName;
                    }
                    locationName=Admin_areaName+"-"+Parent_cityName+"-"+LocationName;
                    System.out.println("最后的定位:"+locationName);
                    System.out.println("最后的一步,ID:"+CityID);
                }
    
                @Override
                public void onFailure(Call call, IOException e) {
                    e.printStackTrace();
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            Toast.makeText(WeatherActivity.this,"经纬度请求城市信息失败",Toast.LENGTH_SHORT).show();
                        }
                    });
                }
            });
    
        }

    最后记得关闭定位,不然会在后台一直定位,会耗电: 

    //软件生命周期结束之后关闭定位
        @Override
        protected void onDestroy()
        {
            super.onDestroy();
            mLocationClient.stop();
        }

     

    其中的CityID就是我们所需的城市代号,利用它就可以直接向和风天气申请定位地的城市信息了。

    这里只是简单的函数介绍,具体代码可以去Github参考我的demo,有全部源码。

    (喜欢的话Github去Follow一下我也是不错的,哈哈哈)

    源码地址:https://github.com/LalmonDev/LBStest

     

    Create By Lalmon

    4/28/2019

    转载请注明出处,谢谢!

    展开全文
  • 网上关于百度地图ADI对位的Demo很多,但是找一个定位到当前城市和得到城市名字却很少,很多项目中都有自动地位到当前城市显示城市名字的的功能,我也遇到需要此功能的需求,但是找了好久都没用,于是根据自己写了一...
  • 先上效果图,看图说话废话少说,直接撸教程一、利用百度地图api自动获取当前ip所在城市名1.登录百度开放平台,在控制台创建我的应用2.创建成功后,复制应用AK键3.在项目页面引入百度地图片api4.编写JQ代码获取当前ip...

    先上效果图,看图说话

    f4ff77a64dd3e039cc7309ef6b60c45d.png

    废话少说,直接撸教程

    一、利用百度地图api自动获取当前ip所在城市名

    1.登录百度开放平台,在控制台创建我的应用

    8687b5f3fc6d197123e4374df10a3c3e.png

    2.创建成功后,复制应用AK键

    3.在项目页面引入百度地图片api

    4.编写JQ代码获取当前ip所在城市名

    $(function (){

    var myCity = new BMap.LocalCity();

    var cityName = "";

    myCity.get(function(data){

    cityName = data.name;

    if(cityName.indexOf("市") != -1){

    cityName = cityName.substr(0,cityName.indexOf("市"));

    }

    getWeather(cityName);

    });

    })

    二、通过WebService调用天气预报接口‘

    1.Maven导入WebService相关依赖

    org.apache.axis

    axis

    1.4

    javax.xml.rpc

    javax.xml.rpc-api

    1.1

    commons-discovery

    commons-discovery

    0.2

    axis

    axis-wsdl4j

    1.5.1

    2.根据天气预报接口wsdl文件生成客户端代码

    wsdl文件地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

    将wsdl文件保存至项目

    对wsdl文件进行编译后,利用IDEA工具自动生成客户端代码集

    4fa2f0a2d7cb907f5d06808f7d51f5fb.png

    3eb2575ea10a9490b98d163c575204a8.png

    自动生成以下文件

    3d117d5791dd3306d0a4c608eb54cdd4.png

    (如果自动生成不了,请按以下操作尝试几次)

    8b5f774dbc3c8bf50e9a3aa913803a73.png

    三、前端AJAX请求调用本地项目天气预报客户端数据‘

    1.后台调用客户端天气预报方法

    c3f5eb8eca9d1f2d3dc51c60b7709f81.png

    2.字符串数组weatherInfo封装了全部天气预报信息,用户可定制自已需要的天气信息

    4949599fbabc4f53447ce18d54619f27.png

    ps:虽然使用是免费的,但是每天有使用次数限制

    ~唉~,果然世界上没有免费的午餐滴

    展开全文
  • JavaScript实时全国天气 ,自动定位城市, 采用百度api定位 新浪天气接口获取当前城市天气 项目地址参考github地址:项目示例js代码片段//获取位置 function getLocation(){ if (navigator.geolocation){ ...
  • 关于高德地图API定位所在城市

    千次阅读 2019-10-08 10:08:55
    大家好讲个题外话本人也是第一次记录这个关于定位API的文章,如果有不对或不足的地方请各位大神批评和指出, 但各位可以放心的是本文的文章是自己整理的大家可以放心阅读 AMap.Geolocation定位 不知道大家之前关于定位...
  • 在做小程序开发的时候会遇到这种功能,比如一个卖电影票的小程序有这样一个功能,就是你在哪个地方会显示哪个地方的影城,这个时候咱们就需要让它自动定位到当前的你所在的城市。好了,我们来看一下怎么实现的。 ...
  • 百度地图API的IP定位城市和浏览器定位(转)http://blog.csdn.net/suixufeng/article/details/135117612013-10-29 17:46 33895人阅读 评论(2) 收藏 举报 分类: Sencha Touch开发手记(11) Extjs+.NET+sql...
  • 这俩API可以分别供用户在JavaScript中进行定位城市确认。 1 本质上,Geolocation这个类是使用了支持HTML5浏览器提供的Geolocation API 来进行定位的。目前Internet Explorer 9、Firefox、Chrome、Safari 以及 ...
  • 根据IP自动定位---百度API

    千次阅读 2018-06-22 11:30:41
    &lt;script type="text/javascript"&gt; //获取用户当前位置 window.onload=init; function init(){ var url = 'http://api.map.baidu.com/location/ip'; var data = { ...
  • Android实现自动定位城市并获取天气信息

    万次阅读 热门讨论 2016-01-10 23:34:06
    定位实现代码:   &lt;span style="font-size:14px;"&gt;import java.io.IOException; import java.util.List; import android.content.Context; import android.location.Address; import ...
  • 今天女朋友突发奇想,让我帮她做一个可以对所在城市进行自动定位的一个小功能。我二话没说,打开电脑就是一顿操作,操作记录如下(贼拉拉详细,无论小白还是大白,都可看得懂): 原创文章 108获赞 1933访问量 44...
  • 微信小程序提供一些API(地址)用于获取当前用户的地理位置等信息,但无论是wx.getLocation,还是wx.chooseLocation均没有单独的字段表示国家与城市信息,仅有经纬度信息。在实际使用过程中仅显示地名是不够的,我们...
  • 所需东西:高德地图的key  注意:这个key是web服务的key和js的key不是一个key(若没有则自行创建,创建教程在文末) ... 调用时传IP地址即可获取对应城市编码或其他信息 package com.test....
  • 使用百度API定位城市百度地图API简介获取密钥导入库文件配置AndroidManifest.xml编写自己的定位程序 百度地图API简介 获取密钥 (1)登录百度地图开放平台 注册百度地图开发者,填写相关信息 (2)提交成功后收到...
  • 高德地图API定位API

    千次阅读 2017-12-19 19:45:05
    关于定位,分为GPS定位和网络定位2种。GPS定位,精度较高,可达到10米,但室内不可用,且超级...如果使用高德API来实现位置定位城市定位的方法,包含了IP定位,浏览器定位,检索定位等多种网络定位方法。当然,如果
  • 微信小程序城市定位(百度地图API)

    千次阅读 2018-11-06 09:46:00
    微信小程序提供一些API(地址)用于获取当前用户的地理位置等信息,但无论是wx.getLocation,还是wx.chooseLocation均没有单独的字段表示国家与城市信息,仅有经纬度信息。在实际项目需求中是不够的,我们可以将微信...
  • <html> <head> <meta ... charset=utf-8" />...自动获取定位访问者当前城市</title> <!--不可省略--> <script type="text/javascript" ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,723
精华内容 3,889
关键字:

自动定位城市api