逻辑:

①通过微信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. 解决VMWARE 虚拟机安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态

    VMWARE WORKSTATION 在安装64为操作系统报错,报错内容如图: 错误提示已经很清楚了,需要在BIOS 中打开intel VT-x g功能,开启此功能的前提是: 1.首先要确定的就是你的 ...

  2. 1分钟搭建极简mock server

    1.无聊的背景.起源: 如今的业务系统越来越复杂庞大,各个功能直接的调用也是多如牛毛,但如果在联调的时候,恰好被调的接口正在开发,怎么办?傻傻的等么,不存在的!这时会搭建一些server来进行mock ...

  3. pat03-树3. Tree Traversals Again (25)

    03-树3. Tree Traversals Again (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue ...

  4. android JNI学习之一

    执行System.loadLibrary()函数时,VM会反向调用*.so里的JNI_OnLoad()函数.用途有二:1. VM询问此*.so使用的JNI版本编号.2. VM要求*.so做一些初期设定 ...

  5. .net使用redis入门笔记

    1.学习blog:http://www.cnblogs.com/yangecnu/p/Introduct-Redis-in-DotNET.html 2.redis官网:http://redis.io/ ...

  6. springboot从入门到精通(二)

    这一节我们一起用springboot开发一个应用程序,应用程序里的核心概念是玩家获取英雄列表上的英雄信息. 1.定义实体模型: 代码如下: package com.dota.herolist.enti ...

  7. HTML代码中<%%>、<%=%>、<%:%>

    <%%>之间可以写服务器端代码 比如 <% for(var i=0;i<10;i++){%> <%=%>获取后台的变量值,比如后台一个session[&quo ...

  8. Drupal中hook_theme函数用法

    在开发的时候不免要使用到drupal theme 定义.举个简单的例子: 复制代码 代码如下: <?phpfunction modulename_theme() { //开始定义自己的theme ...

  9. microkernel architecture - Proxy

    The microkernel architecture pattern allows you to add additional application features as plug-ins t ...

  10. Flexviewer调用特定的widget

    Flexviewer调用特定的widget: 之前一直是自己添加个固定的key来调用widget 但是后来发现框架早就为你写好啦调用widget的方法 在WidgetManager中有个 public ...