逻辑:

①通过微信JS-SDK 获取地理位置接口 获取经纬度

②调用百度地图转换经纬度的API,得到百度地图的经纬度

③调用百度地图 正/逆地址编码服务--》国际化逆地理编码 得到JSON数据,然后显示

本篇是在  微信开发----JS-SDK接口 基础上加的一个获取用户地址。如果你会使用JS-SDK接口获取用户信息,可以跳过第一步,如果你还不会请认真看JS-SDK这边文章。

注:GitHub下载代码 已更新

①我们在JS-SDK页面(JSSDK/index)中添加  获取地理位置接口

②进行经纬度转化,得到地址,

两种方式:

①使用百度的JS转化,之前写过这里就不写了  百度地图API

②web Api转,下面就是

新建一个GetLocation类

代码:

  public class GetLocation
{
/// <summary>
/// 转成百度经纬度
/// </summary>
/// <param name="latitude">纬度,浮点数,范围为90 ~ -90</param>
/// <param name="longitude">经度,浮点数,范围为180 ~ -180</param>
/// <returns>
/// 正确:{"status":0,"result":[{"x":114.35447126655663,"y":30.503753989191293}]}
/// </returns>
public static dynamic TranCoord(string latitude,string longitude)
{
string traURL = string.Format("http://api.map.baidu.com/geoconv/v1/?coords={0},{1}&from=1&to=5&ak=IvX0YcM1IRluCkw2Y0rx6hEYi9Smaw8r",
longitude, latitude);
var client = new HttpClient();
var result = client.GetAsync(traURL).Result;
return JsonHelp.ToDynamic(result.Content.ReadAsStringAsync().Result);
} /// <summary>
/// 获取地址
/// </summary>
/// <param name="lat">百度地图的纬度</param>
/// <param name="lon">百度地图的经度</param>
/// <returns>
/// 返回的字符串太长了,而且不是一个正确的json格式,直接转是转不了的
/// 我这里使用一个笨方法就是切割字符串得到json格式。。。。。
/// </returns>
public static string Address(string lat,string lon)
{
string url = string.Format("http://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location={0},{1}&output=json&pois=1&ak=IvX0YcM1IRluCkw2Y0rx6hEYi9Smaw8r",
lat, lon);
var client = new HttpClient();
var result = client.GetAsync(url).Result;
string dataJson = result.Content.ReadAsStringAsync().Result;
dataJson = dataJson.Substring(dataJson.IndexOf('(') + );
dataJson = dataJson.TrimEnd(')'); //得到Json格式
dynamic newGPS = JsonHelp.ToDynamic(dataJson);
string address = newGPS.result.formatted_address;
return address;
}

坐标转化服务             经纬转坐标

错误:

请把你Referer设置为 *

如果没有错误就发布,在测试号里面进行查看,

注:扫码关注公众号进行测试

百度webAPI配合微信JSDK获取用户当前位子的更多相关文章

  1. php开发微信支付获取用户地址

    http://mp.weixin.qq.com/s/uNpWE_Z5RZ48PDIWkmGBYQ 使用微信获取地址信息是和微信支付一道申请的,微信支付申请通过,就可以使用该功能. 微信商城中,使用微信 ...

  2. 微信接口-获取用户openid基本信息

    一.协助获取微信用户openid功能 https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri= ...

  3. 微信开发获取用户OpenID

    第一次开发微信版网页,对最重要的获取微信OpenId,特此记录下来 1.首先得有appid和appsecret . public class WeiXin { public static string ...

  4. MVC 微信开发获取用户OpenID

    第一次开发微信版网页,对最重要的获取微信OpenId,特此记录下来 1.首先得有appid和appsecret . public class WeiXin { public static string ...

  5. 微信授权获取用户openId等信息

    在我们开发小程序的时候,需要通过授权获取用户的信息. 第一种使用wx.getUserInfo直接获取微信头像,昵称 // 必须是在用户已经授权的情况下调用 wx.getUserInfo({ succe ...

  6. 微信授权获取用户openid前端实现

    近来,倒霉的后台跟我说让我拿个openid做微信支付使用,寻思很简单,开始干活.   首先引导用户打开如下链接,只需要将appid修改为自己的就可以,redirect_url写你的重定向url   h ...

  7. 百度地图API应用之获取用户的具体位置

    功能的大概:用户通过点击地图上面的位置,在地图上面进行描点,然后再把获取的到的地理位置保存到地图上面的地址栏目中. 主要是百度地图API的使用 .代码如下: var map = new BMap.Ma ...

  8. 微信oauth获取用户的信息页面授权

    參考链接(请在微信client中打开此链接体验) Scope为snsapi_base https://open.weixin.qq.com/connect/oauth2/authorize?appid ...

  9. [微信开发] 微信JSAPI - 获取用户地理位置信息

    参考博客 http://blog.csdn.net/u013142781/article/details/50503299 主要JS 方法 wx.getLocation 获取地理位置信息传递参数 成功 ...

随机推荐

  1. ElasticSearch:集群(Cluster),节点(Node),分片(Shard),Indices(索引),replicas(备份)之间关系

    [Cluster]集群,一个ES集群由一个或多个节点(Node)组成,每个集群都有一个cluster name作为标识----------------------------------------- ...

  2. 10 个最佳的 Node.js 的 MVC 框架

    补充:http://nokit.org/ https://thinkjs.org/zh-cn/doc/index.html Node.js 是一个基于Chrome JavaScript 运行时建立的一 ...

  3. 使用python简单创建一个用户和商城小程序

    整体思路: 1.用户功能:购买.显示余额.列表清单.输入 2.商家功能:修改和添加商品 创建两个接口: 用户: #Author: Gordon #读取文档,生成goodsf = open('goods ...

  4. 有关satement与preparedstatement

    satement 用于写入数据,例子如下: connection conn=DBHelper.getConnection(); Statement stmt=conn.createStatement( ...

  5. 【代码笔记】Java基础:类的继承(构造器)

    在Java中,创建对象的格式为: 类名 对象名 = new 类名(): 如: 1 JFrame jf = new JFrame(); 一个对象被创建出来时,经常要先做一些事这个对象才能正常使用,也可以 ...

  6. Centos6配置samba服务器并批量添加用户和文件夹

    一.需求 局域网内有若干用户,所有用户访问一个共享目录 每个用户在共享目录里有自己的文件夹 每个用户都可以读取其他人的文件夹 每个用户只能对自己的文件夹有写入权限 所有用户都属于filesgroup组 ...

  7. 标头停止点不能位于宏或#if块中.

    使用VS2010在项目中编写C++头文件**.h时提示: PCH 警告: 标头停止点不能位于宏或#if块中 原因:vs2010的智能感知要求.h必须以非#if系列的预编译指令打头 正确方法:将所有含有 ...

  8. 破解Power Designer 12.5

    PowerDesigner15.1破解补丁链接: https://pan.baidu.com/s/1boJoT6B 密码: 9x77 解压,将文件 pdflm15.dll替换安装目录的同名文件即可.

  9. Angular js 双向绑定时字符串的转换成 数字类型的问题

    问题: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <scrip ...

  10. (四)WebDriver常用方法

    点击和输入 前面我们已经学习了定位元素, 定位只是第一步, 定位之后需要对这个元素进行操作, 或单击(按钮) 或输入(输入框) , 下面就来认识 WebDriver 中最常用的几个方法: clear( ...