逻辑:

①通过微信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. mysql用户操作

    一, 创建用户: 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username - 你将创建的用户名, host - 指 ...

  2. html 跨过CSRF验证

    /* CSRF配置 */function csrfSafeMethod(method) { // these HTTP methods do not require CSRF protection r ...

  3. 我们能用canvas做什么?

    什么是Canvas? Canvas元素是HTML5的一部分,允许脚本语言动态渲染位图像.Canvas由一个可绘制地区HTML代码中的属性定义决定高度和宽度.JavaScript代码可以访问该地区,通过 ...

  4. Java笔记之Scanner先读取一个数字,在读取一行字符串方法分析

    问题:大家在学习Java读取数据的时候一般都是使用Scanner方法读取数据,但是其中有一个小问题大家可能不知道, 就是我们在使用scanner的时候如果你先读取一个数字,在读取一行带有空格的字符串, ...

  5. <Android 应用 之路> 简易手电筒

    前言 快一个月没有写自己的博客了,由于最近换了工作,换了居住地,所以有一些杂事需要处理,从今天开始恢复正常,不赘述了.进入今天的主题 -– 简易的手电筒. 这个Demo中使用的是比较新的API,M版本 ...

  6. 正则表达式备忘录-Regular Expressions Cheatsheet中文版

    正则表达式备忘录Regular Expressions Cheatsheet中文版原文:https://www.maketecheasier.com/cheatsheet/regex/ 测试文件a.t ...

  7. solidity语言6

    映射 可以认为是哈希,格式 mapping(_KeyType => _ValueType) pragma solidity ^0.4.0; contract MappingExample { m ...

  8. collectd配置

    udp proxy - 192.168.48.112 cat > /etc/collectd_25801.conf << EOF Hostname "kvm-48-112& ...

  9. 从java9开始就不再提供32位jdk

  10. tdf sample

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...