js定位当前位置的坐标经纬度和地点名称和天气

<script src="http://api.map.baidu.com/api?v=2.0&ak=s6vFvPKgaEnI2ImqBpKGDj0m"></script>
<script src="http://api.map.baidu.com/getscript?v=2.0&ak=s6vFvPKgaEnI2ImqBpKGDj0m&services=&t=20160401164342"></script>

<div id="allmap"></div>
<script>
    var cid = 35;
    var geolocation = new BMap.Geolocation();
    geolocation.getCurrentPosition(function(r){
        if(this.getStatus() == BMAP_STATUS_SUCCESS){
            var position = {
                lng: r.point.lng,
                lat: r.point.lat
            }
            if(cid == ‘sort‘){
                sort(position);
            } else {
                positions(position, cid);
            }
            //alert(‘您的位置:‘+r.point.lng+‘,‘+r.point.lat);
            $("#poi").val(r.point.lng+‘,‘+r.point.lat);

            getAddress(r.point.lng,r.point.lat);
        }
        else {
            alert(‘获取当前位置失败,请确定您开启了定位服务‘);
        }
    },{enableHighAccuracy: true});

    //该js函数是必须要的不然要报错
    function positions(json, cid) {}

    //根据经纬度获取具体地址信息
    function getAddress(lng,lat){
        var map = new BMap.Map("allmap");
        var point = new BMap.Point(lng,lat);
        map.centerAndZoom(point,12);
        var geoc = new BMap.Geocoder();
        geoc.getLocation(point,function(rs){
            var addComp = rs.addressComponents;

            var names="";
            for(var name in addComp){
                names+=name+": "+addComp[name]+", ";
            }
            // alert(names);

            //alert(addComp.province + "," + addComp.city + "," + addComp.district + "," + addComp.street + "," + addComp.streetNumber);
            $("#area").val(addComp.province + "," + addComp.city + "," + addComp.district);
            $("#addr").val(addComp.street + "," + addComp.streetNumber);

            getWeather(addComp.city);

        });
    }

    function getWeather(citytq) {
            $.ajax({
                async: false,
                type: "GET",
                url: "http://wthrcdn.etouch.cn/weather_mini?city="+citytq,
                success: function (res) {
                    alert(res);
                }
            });
    }
</script>

原文地址:https://www.cnblogs.com/kccdzz/p/9761542.html

时间: 2024-10-24 01:15:52

js定位当前位置的坐标经纬度和地点名称和天气的相关文章

js中实现高德地图坐标经纬度转百度地图坐标

1 function tobdMap(x, y) { 2 var x_pi = 3.14159265358979324 * 3000.0 / 180.0; 3 var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi); 4 var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi); 5 var bd_lon = z * Math.cos(theta) + 0.00

百度定位SDK实现获取当前经纬度及位置

使用Android自带的LocationManager和Location获取位置的时候,经常会有获取的location为null的情况,并且操作起来也不是很方便,在这个Demo里我使用了百度地图API中的定位SDK,可以一次性获取当前位置经纬度以及详细地址信息,还可以获取周边POI信息,同时可以设定位置通知点,当到达某一位置时,发出通知信息等方式来告知用户.jar包下载以及官方文档请参照:百度定位SDK,前提是需要注册百度开发者账号.下面来看看定位的基本原理,目前,定位SDK可以通过GPS.基站

[android] 百度地图开发 (三).定位当前位置及getLastKnownLocation获取location总为空问题

       前一篇百度地图开发讲述"(二).定位城市位置和城市POI搜索",主要通过监听对象MKSearchListener类实现城市兴趣点POI(Point of Interest)搜索.该篇讲述定位当前自己的位置及使用getLastKnownLocation获取location总时为空值的问题. 一. 定位当前位置的原理及实现       定位当前位置可以通过LBS(Location Based Service,基于位置的服务),主要工作原理是利用无线网络Network或GPS定

[android] 百度地图开发 (二).定位城市位置和城市POI搜索

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

位置与地图(一)定位获取位置及位置反编码

*我们的应用程序,可以通过添加Core Location框架所包含的类,获取设备的地图位置. *添加CoreLocation.framework框架,导入#import<CoreLocation/CoreLocation.h> *使用地图服务时,会消耗更多地设备电量.因此,在获取到设备的位置后,应该停止定位来节省电量 @跟往常一样,我们通过一个demo来展示内容与效果 // // HMTRootViewController.h // My-GPS-Map // // Created by la

IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息

IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息 /**当获取到定位的坐标后,回调函数*/ - (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation{ BMKCoordinateRegion region; region.center.latitude  = userLocation.location.coordinate.latitude; region.center.longitude = userLoca

谈谈jQuery和js里有关位置和宽高的方法

总结一下jQuery.原生js设置和获取位置.宽高的方法. 一.jQuery关于元素位置的方法 position() 方法:只能获取,不能设置. 可获取元素相对于其第一个position值不为static的祖先元素的偏移量,如果没有,则是相对于文档的偏移量:返回一个对象,包括两个属性:left,top; 属性值无单位,number类型.具体用法: $(element).position().left; //获取元素相对于其第一个position值不为static的祖先元素的偏移量 offset(

js浏览器各种位置检测

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>属性检测</title> <style> *{margin: 0;padding:0;border:none;} #tip{ width:400px; height:300px; } #T{ width:400px; height:200px;

[Ext JS 4] 实战之Chart 坐标控制(单坐标,双坐标)

前言 在Extjs 中, 单一的 Column Chart 的展示效果如上. 定义的步骤如下: 1.  创建一个 Ext.chart.Chart 2. 创建两个坐标轴, axes 一个 Category 类型的横坐标用来显示日期 一个Numeric 类型的纵坐标用来显示数据 3. 配置显示的图 series 配置 column 类型的柱状图. 具体代码如下: <!-- Author : oscar999 Date : ALL RIGHTS RESERVED --> <!DOCTYPE h