<!--在微信中获取用户位置-->
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script charset="utf-8" src="http://map.qq.com/api/js?v=2.exp&key=3FVBZ-FZ2KW-E7CR4-ROZRS-B7TNQ-C7BSI"></script>
<script type="text/javascript">
var map;
var markerE;
var wd = "", jd = "", fw = "", address = "", isCompany = ;
var init = function () {
map = new qq.maps.Map(document.getElementById("container"), {
center: new qq.maps.LatLng(30.602239286171868, 114.51272616386414),
zoom:
});
var polygon = new qq.maps.Polygon({
map: map,
path: path,
strokeColor: new qq.maps.Color(, , , 0.5),
fillColor: qq.maps.Color.fromHex("#000000", 0.5)
});
}
var path = [
new qq.maps.LatLng(30.602165333622294, 114.51280663013458),
new qq.maps.LatLng(30.601347229791023, 114.51272616386414),
new qq.maps.LatLng(30.601236299928177, 114.51398680210114),
new qq.maps.LatLng(30.60208213693682, 114.51407799720764)
];
function isInsidePolygon(pt, poly) {
for (var c = false, i = -, l = poly.length, j = l - ; ++i < l; j = i)
((poly[i].lat <= pt.lat && pt.lat < poly[j].lat) || (poly[j].lat <= pt.lat && pt.lat < poly[i].lat)) &&
(pt.lng < (poly[j].lng - poly[i].lng) * (pt.lat - poly[i].lat) / (poly[j].lat - poly[i].lat) + poly[i].lng) &&
(c = !c);
return c;
}
var dksubmit = function () {
$('#dialog1').hide();
if (address == "") {
$("#dialog2").show().find("#msg").text("未获取到地址,请先定位");
} else {
$.post("url", { wd: wd, jd: jd, fw: fw, add: address, isCompany: isCompany }, function (res) {
if (res == "true") {
$("#dialog2").show().find("#msg").text("在规定位置");
} else {
$("#dialog2").show().find("#msg").text(res);
}
});
}
}
$(document).ready(function () {
$(".weui_loading_toast").show();
wx.ready(function () {
$(".dw").click();
});
wx.error(function (res) {
var msg = "";
for (var i in res) {
msg += i + ":" + res[i] + "|";
}
alert("ERROR:" + msg);
});
wx.config(@(new HtmlString(ViewBag.sign)));
init();
$(".dw").click(function () {
wx.getLocation({
type: 'gcj02', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
success: function (res) {
var loc = new qq.maps.LatLng(res.latitude, res.longitude);
map.setCenter(loc);
if (markerE) {
markerE.setPosition(loc);
} else {
markerE = new qq.maps.Marker({
position: loc,
map: map
});
}
$("#zb").text(res.latitude + "," + res.longitude);
var geocoder = new qq.maps.Geocoder({
complete: function (result) {
$("#dz").text(result.detail.address);
address = result.detail.address;
}
});
var coord = new qq.maps.LatLng(res.latitude, res.longitude);
geocoder.getAddress(coord);
wd = res.latitude;
jd = res.longitude;
if (res.accuracy != undefined) {
fw = res.accuracy;
} else {
fw = ;
}
if (isInsidePolygon(loc, path)) {
$("#yx").text("有效位置");
isCompany = ;
}
else {
isCompany = ;
$("#yx").text("无效位置");
} $(".weui_loading_toast").hide();
}
});
}); });
</script>

通过腾讯地图api获取用户位置限制在指定位置区域的更多相关文章

  1. 微信小程序wx.getLocation()获取经纬度及JavaScript SDK调用腾讯地图API获取某一类地址

    简介 腾讯位置服务为微信小程序提供了基础的标点能力.线和圆的绘制接口等地图组件和位置展示.地图选点等地图API位置服务能力支持,使得开发者可以自由地实现自己的微信小程序产品. 在此基础上,腾讯位置服务 ...

  2. JAVA使用经纬度通过腾讯地图API获取详细地址

    官方文档:https://lbs.qq.com/service/webService/webServiceGuide/webServiceGcoder package com.weixin.map; ...

  3. HTML5调用百度地图API获取当前位置并直接导航目的地的方法

    <!DOCTYPE html> <html lang="zh-cmn-Hans">     <meta charset="UTF-8&quo ...

  4. HTML5页面直接调用百度地图API,获取当前位置,直接导航目的地

    <!DOCTYPE html> <html lang="zh-cmn-Hans"> <meta charset="UTF-8"&g ...

  5. Python 读取照片的信息:拍摄时间、拍摄设备、经纬度等,以及根据经纬度通过百度地图API获取位置

    通过第三方库exifread读取照片信息.exifread官网:https://pypi.org/project/ExifRead/ 一.安装exifreadpip install exifread ...

  6. 腾讯地图 API 调用入门

    本文仅为腾讯地图 API 调用入门,如需进阶学习,请在腾讯位置服务网站上进行学习. 登陆网址 https://lbs.qq.com/ 点击右上角的登陆按钮,需要进行注册按照流程进行就好. 完成之后,选 ...

  7. Ceph Object Gateway Admin api 获取用户列表问题

    按照官方文档使用Admin Ops API 获取用户列表 GET /admin/user时 返回{code: 403, message: Forbidden}这里有两个问题:首先用户列表的请求为 如下 ...

  8. 百度地图api根据用户IP获取用户位置(PHP)

    1.百度地图开放平台找的你的ak ,链接:http://lbsyun.baidu.com/apiconsole/key 2.获取用户ip地址(外网ip 服务器上可以获取用户外网Ip 本机ip地址只能获 ...

  9. 百度地图JavaScript API获取用户当前经纬度和详细地理位置,反之通过详细地理位置获取当前经纬度

    前言: 前端时间刚好使用了百度地图的js api定位获取用户当前经纬度并获取当前详细位置和通过当前用户详细地理位置换取用户当前经纬度坐标的功能,为了方便下次找起来方便一些自己在这里记录一下,希望也能够 ...

随机推荐

  1. sikuli+eclipse实例

    设置sikuli环境变量 如果在执行脚本的时候出现以下错误: Getting the VisionProxy.dll: Can not find dependent libraries... 把Sik ...

  2. MFC 程序的运行流程

    CWinApp::InitApplication CMyWinApp::InitInstance CMyFrameWnd::CMyFrameWnd CFrameWnd::Create CWnd::Cr ...

  3. MySQL出现Ignoring query to other database的问题

    今天使用mysql的时候,输入随意一条命令都会出: Ignoring query to other database 这条错误信息,非常是奇怪. 后来才发现是登录数据库时.少了个-u的參数.. 正确的 ...

  4. 控制台中使用SetTimer的提醒

    SetTimer是设置定时器,每隔一段时间执行一个操作,原型如下 UINT_PTR SetTimer( HWND hWnd, // 窗口句柄 UINT_PTR nIDEvent, // 定时器ID,多 ...

  5. Android4.0.4-在build.prop中添加属性的方法【转】

    本文转载自:http://blog.csdn.net/imyfriend/article/details/8939964 1.在*.rc文件中用setprop添加,例如在源码android4.0\sy ...

  6. Additive equations--zoj

    Additive equations Time Limit: 10 Seconds      Memory Limit: 32768 KB We all understand that an inte ...

  7. Web进行压力测试的小工具

    在Linux下对Web进行压力测试的小工具有很多,比较出名的有AB.虽然AB可以运行在windows下,但对于想简单界面操作的朋友有点不太习惯.其实vs.net也提供压力测试功能但显然显得太重了,在测 ...

  8. Gym-101158J Cover the Polygon with Your Disk 计算几何 求动圆与多边形最大面积交

    题面 题意:给出小于10个点形成的凸多边形 和一个半径为r 可以移动的圆 求圆心在何处的面积交最大,面积为多少 题解:三分套三分求出圆心位置,再用圆与多边形面积求交 #include<bits/ ...

  9. virtualbox 安装虚拟机(centos7) 并映射本地文件夹至虚拟机(增强工具)

    一.安装环境 操作系统:windows10 virtualbox: 5.2.20 (在安装virtualbox 时可能需要 进入BIOS 设置虚拟化系统启动) centos7:http://mirro ...

  10. JS中的数据类型及判断数据类型的方法

    简单类型(基本类型): number,string,boolean,null,undefined 复杂类型(引用类型):object typeof 只能判断基本数据类型 instanceof 能够判断 ...