<!--在微信中获取用户位置-->
<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. 动态内存管理---new&amp;delete

    动态内存管理 动态对象(堆对象)是程序在执行过程中在动态内存中用new运算符创建的对象. 因为是用户自己用new运算符创建的.因此也要求用户自己用delete运算符释放,即用户必须自己管理动态内存. ...

  2. HDU 1576 A/B(扩展欧几里德变形)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1576 Problem Description 要求(A/B)%9973,但因为A非常大,我们仅仅给出n ...

  3. ADO.NET Entity Framework Extensions

    一.情景 如果你的项目中有返回多结果集的存储过程. 如果你的项目要和老项目中的ADO.Net共用事务. 如果你要动态的创建数据库的表. 但是你还是希望使用Entity Framework.那么继续往下 ...

  4. luogu3690 【模板】 Link Cut Tree(动态树)

    题目大意 给定n个点以及每个点的权值,要你处理接下来的m个操作.操作有4种.操作从0到3编号.点从1到n编号.0.询问从x到y的路径上的点的权值的xor和.保证x到y是联通的.1.代表连接x到y,若x ...

  5. vue组件的3种书写形式

    第一种使用script标签 <!DOCTYPE html> <html> <body> <div id="app"> <my- ...

  6. oc15--文档安装

    // // main.m // 修改项目模板 /* 工程名称: 文件名称: 创建者 : 创建时间: 版权 : 修改人 : 修改时间: */ #import <Foundation/Foundat ...

  7. 怎样才是一个基本水平的java程序员?

    怎样才是一个基本水平的java程序员? 熟悉常用的数据结构,包括数组,链表,树,哈希表等. 熟悉结构化编程和面向对象编程. 能够阅读UML设计图,根据UML语义进行编码 了解RDBMS和SQL的使用, ...

  8. 院校-美国:麻省理工学院(MIT)

    ylbtech-院校-美国:麻省理工学院(MIT) 麻省理工学院(Massachusetts Institute of Technology),简称麻省理工(MIT),坐落于美国马萨诸塞州波士顿都市区 ...

  9. 第6章 Spring MVC的数据转换、格式化和数据校验

    使用ConversionService转换数据 <%@ page language="java" contentType="text/html; charset=U ...

  10. php !=和!==

    今天测试了一下!=和!== <?phpheader("Content-type: text/html; charset=utf-8"); if (1!="1&quo ...