『壹』 js中如何得到客户端的地理位置
手机WEB定位方法:代码。
var getLocation = function (successFunc, errorFunc) { //successFunc获取定位成功回调函数,errorFunc获取定位失败回调
//首先设置默认城市
var defCity = {
id: '000001',
name: '北京市',
date: curDateTime()//获取当前时间方法
};
//默认城市
$.cookie('VPIAO_MOBILE_DEFAULTCITY', JSON.stringify(defCity), { expires: 1, path: '/' });
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
var lat = position.coords.latitude;
var lon = position.coords.longitude;
//var map = new BMap.Map("container"); // 创建Map实例
var point = new BMap.Point(lon, lat); // 创建点坐标
var gc = new BMap.Geocoder();
gc.getLocation(point, function (rs) {
var addComp = rs.addressComponents;
var curCity = {
id: '',
name: addComp.province,
date: curDateTime()
};
//当前定位城市
$.cookie('VPIAO_MOBILE_CURRENTCITY', JSON.stringify(curCity), { expires: 7, path: '/' });
//alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street);
if (successFunc != undefined)
successFunc(addComp);
});
},
function (error) {
switch (error.code) {
case 1:
alert("位置服务被拒绝。");
break;
case 2:
alert("暂时获取不到位置信息。");
break;
case 3:
alert("获取位置信息超时。");
break;
default:
alert("未知错误。");
break;
}
var curCity = {
id: '000001',
name: '北京市',
date: curDateTime()
};
//默认城市
$.cookie('VPIAO_MOBILE_DEFAULTCITY', JSON.stringify(curCity), { expires: 1, path: '/' });
if (errorFunc != undefined)
errorFunc(error);
}, { timeout: 5000, enableHighAccuracy: true });
} else {
alert("你的浏览器不支持获取地理位置信息。");
if (errorFunc != undefined)
errorFunc("你的浏览器不支持获取地理位置信息。");
}
};
var showPosition = function (position) {
var lat = position.coords.latitude;
var lon = position.coords.longitude;
//var map = new BMap.Map("container"); // 创建Map实例
var point = new BMap.Point(lon, lat); // 创建点坐标
var gc = new BMap.Geocoder();
gc.getLocation(point, function (rs) {
var addComp = rs.addressComponents;
var curCity = {
id: '',
name: addComp.province,
date: curDateTime()
};
//当前定位城市
$.cookie('VPIAO_MOBILE_CURRENTCITY', JSON.stringify(curCity), { expires: 7, path: '/' });
//alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street);
});
};
var showPositionError = function (error) {
switch (error.code) {
case 1:
alert("位置服务被拒绝。");
break;
case 2:
alert("暂时获取不到位置信息。");
break;
case 3:
alert("获取位置信息超时。");
break;
default:
alert("未知错误。");
break;
}
var curCity = {
id: '000001',
name: '北京市',
date: curDateTime()
};
//默认城市
$.cookie('VPIAO_MOBILE_DEFAULTCITY', JSON.stringify(curCity), { expires: 1, path: '/' });
};.
前提要引入网络API:<script src="http://api.map..com/api?v=1.4"
type="text/javascript"></script>。
2. PC端通过IP实现方法:
采用腾讯提供的接口,这个目前已经不能使用。
<script type="text/javascript" src="http://fw.qq.com/ipaddress"></script>
<script type="text/javascript">
document.write(IPData[0]); //显示IP地址
document.write(IPData[2]); //显示省
document.write(IPData[3]); //显示市
</script>
3 .获取客户端IP方法
<script>
var url = 'http://chaxun.1616.net/s.php?type=ip&output=json&callback=?&_=' + Math.random();
$.getJSON(url, function(data) {
alert(data.Ip);
});
</script>
『贰』 js 获取百度地图自己位置经纬度
简单的说, 你可以先获取自己的ip, 然后使用网络的api根据ip来获取经纬度.
参考以下链接资料
http://developer..com/map/ip-location-api.htm#.E6.8E.A5.E5.8F.A3.E5.8F.82.E6.95.B0
『叁』 js 怎么获得鼠标在当前div中的位置
把div设置成相对定位或绝对定位,总之是让其拥有left,top值,
当鼠标移进div的时候获取鼠标的坐标,
用鼠标的left减去div的left值就是鼠标在div里面的left值,即鼠标在div中的x坐标,
同理,
用鼠标的top值减去div的top值就是鼠标在div里面的top值,即鼠标在div中的y坐标
这样我们就获取了鼠标在div中的位置了
『肆』 js中如何获取当前浏览器的地址的值
js中通过window.location.href和document.location.href、document.URL获取当前浏览器的地址的值,它们的的区别是:
1、document表示的是一个文档对象专,window表示的是一个窗口对属象,一个窗口下可以有多个文档对象。所以一个窗口下只有一个window.location.href,但是可能有多个document.URL、document.location.href
2、window.location.href和document.location.href可以被赋值,然后跳转到其它页面,document.URL只能读不能写
3、document.location.href和document.location.replace都可以实现从A页面切换到B页面,但他们的区别是:
用document.location.href切换后,可以退回到原页面。
而用document.location.replace切换后,不可以通过“后退”退回到原页面。
『伍』 javascript 怎么获得手机地理位置 比如经纬度
javascript 获得手机地理位置代码专如下属:
functiongetLocation(callback){
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(
function(p){
callback(p.coords.latitude,p.coords.longitude);
},
function(e){
varmsg=e.code+" "+e.message;
}
);
}
}
『陆』 javascript 得到当前焦点的位置
<textarea id="text1"></textarea>
<input type="text" tabindex="5" name="button" id="button" />
<input type="text" tabindex="5" name="button" id="button1" />
<input type="button" tabindex="5" value="按钮" id="button2" />
<script language="javascript">
function check()
{
window.status=event.srcElement.id
}
for(i=0;i<document.all.tags('INPUT').length;i++)
{document.all.tags('INPUT')[i].onfocus=check}
for(i=0;i<document.all.tags('TEXTAREA').length;i++)
{document.all.tags('TEXTAREA')[i].onfocus=check}
for(i=0;i<document.all.tags('BUTTON').length;i++)
{document.all.tags('BUTTON')[i].onfocus=check}
</script>
『柒』 百度地图api如何根据城市名或经纬度获取当前城市东西经南北纬范围 js
Geocoding API包括地址解析和逆地址解析功能。
地址解析是指,由详细到街道的结构化地址得到网络经纬度信息,且支持名胜古迹、标志性建筑名称直接解析返回网络经纬度。例如:“北京市海淀区中关村南大街27号”地址解析的结果是“lng:116.31985,lat:39.959836”,“网络大厦”地址解析的结果是“lng:116.30815,lat:40.056885”
逆地址解析是指,由网络经纬度信息得到结构化地址信息。例如:“lat:31.325152,lng:120.558957”逆地址解析的结果是“江苏省苏州市虎丘区塔园路318号”。注意:
1.因为Geocoding和反Geocoding使用的门址数据以及算法都不是一样的,所以会出现不能一一对应的现象。
2.解析过程中可能会出现一对坐标值对应多个地址门牌信息,本接口将返回距离坐标点最近的一个地址门牌信息。
使用限制
目前无任何使用限制。请申请key,然后使用该接口。
如何使用
第一步,申请key,点击这里获取密钥,申请key需要注册网络账号;
第二步,拼写发送http请求的url,注意需使用第一步申请的key;
第三步,接收http请求返回的数据(支持json和xml格式)。
服务地址
地址解析:根据地址获取坐标
http://api.map..com/geocoder?address=地址&output=输出格式类型&key=用户密钥&city=城市名
逆地址解析:根据坐标获取地址
http://api.map..com/geocoder?location=纬度,经度&output=输出格式类型&key=用户密钥
备注:
1. city属于可选参数,通常情况可以不使用,若解析无结果,请尝试增加此字段。
2. 支持名胜古迹、标志性建筑物名称解析返回网络经纬度坐标,如address=“网络大厦”。
3. 支持使用“*路与*路交叉口”方式解析返回网络经纬度坐标,若地址库中存在该地址描述,返回网络经纬度坐标。
4. 若解析status字段为OK,若结果内容为空,原因分析及可尝试方法:
地址库里无此数据,本次结果为空。
加入city字段重新解析;
将过于详细或简单的地址更改至省市区县街道重新解析;
5. 特别提醒:逆地址解析location参数传入的参数格式是(纬度lat,经度lng)。
接口参数
参数 是否必须 默认值 格式举例 含义
output 否 json json或xml 输出格式为json或者xml
address 是 无 北京市海淀区上地十街10号 根据指定地址进行坐标的反定向解析
location 是 无 38.76623,116.43213
lat<纬度>,lng<经度> 根据指定坐标来进行地址的解析
city 否 “北京市” “广州市” 地址所在的城市名
key 是 无 用户申请注册的key
上表中address和location两个字段如果同时出现,则优先选择address执行地理编码功能。对于address字段可能会出现中文或其它一些特殊字符(如:空格),所以对于类似的字符都要进行编码处理,编码成 UTF-8 字符的二字符十六进制值,凡是不在下表中的字符都要进行编码。
字符集合 字符
URL非保留字 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 – _ . ~
URL保留字 ! * ‘ ( ) ; : @ & = + $ , / ? % # [ ]
附注:
(1) javascript中一般采用encodeURIComponent函数对特殊字符进行编码。
(2) Java中可以使用函数URLEncoder.encode对特殊字符进行编码。
(3) C#中可以使用函数HttpUtility.UrlEncode对特殊字符进行编码。
(4) php中可以使用函数urlencode对特殊字符进行编码。
返回数据说明
返回结果(地址解析的结果)
{status: '字符串状态常量', 取值如下:
//OK 成功
INVILID_KEY 非法密钥
INVALID_PARAMETERS 非法参数,参数错误时候给出。
result: {
location: {
lat: 纬度:数值,
lng: 经度:数值
},
precise:’位置的附加信息,是否精确查找’(1为精确查找,0为不精确查找),
confidence: 可信度,
level:'级别'
},
}
返回结果(反地址解析的结果)
{status: '字符串状态常量', 取值如下:
//OK 成功
INVILID_KEY 非法密钥
INVALID_PARAMETERS 非法参数,参数错误时候给出。
result: {
location: {
lat: 纬度:数值,
lng: 经度:数值
},
formatted_address: ‘详细地址描述’,
business: '周围商圈',
addressComponent:{
city:’城市名称’,
district: ‘区县名称’,
province:’省份名称’,
street: ‘街道名称’,
streetNumber: '门牌号码'
},
cityCode: '城市代码'
}
}
接口示例
根据详细地址获取坐标
http://api.map..com/geocoder?address=%E4%B8%8A%E5%9C%B0%E5%8D%81%E8%A1%9710%E5%8F%B7&output=json&key=
//根据“上地十街10号”返回坐标“lng:116.307175, lat:40.057098”,以json格式输出
http://api.map..com/geocoder?address=%E4%B8%8A%E5%9C%B0%E5%8D%81%E8%A1%9710%E5%8F%B7&output=xml&key=
//根据“上地十街十号”返回坐标“lng:116.307175, lat:40.057098”,以xml格式输出
在指定城市内检索详细地址的坐标
http://api.map..com/geocoder?address=%E4%B8%8A%E5%9C%B0%E5%8D%81%E8%A1%9710%E5%8F%B7&output=json&key=&city=%E5%8C%97%E4%BA%AC%E5%B8%82
// 在北京市内根据“上地十街10号”返回坐标“lng:116.307175, lat:40.057098”,以json格式输出
http://api.map..com/geocoder?address=%E4%B8%8A%E5%9C%B0%E5%8D%81%E8%A1%9710%E5%8F%B7&output=xml&key=&city=%E5%8C%97%E4%BA%AC%E5%B8%82
// 在北京市内根据“上地十街10号”返回坐标“lng:116.307175, lat:40.057098”,以json格式输出
根据特定建筑物获取它的坐标
http://api.map..com/geocoder?address=%E7%99%BE%E5%BA%A6%E5%A4%A7%E5%8E%A6&output=json&key= //根据“网络大厦”名称返回坐标“lng:116.307175, lat:40.057098”,以json格式输入
http://api.map..com/geocoder?address=%E7%99%BE%E5%BA%A6%E5%A4%A7%E5%8E%A6&output=xml&key= //根据“网络大厦”名称返回坐标“lng:116.307175, lat:40.057098”,以xml格式输入
根据“*路与*路交叉路口”类型地址描述获得它的坐标
http://api.map..com/geocoder?address=%E5%8C%97%E4%B8%80%E7%8E%AF%E8%B7%AF%E5%92%8C%E9%98%9C%E9%98%B3%E8%B7%AF%E7%9A%84%E4%BA%A4%E5%8F%89%E8%B7%AF%E5%8F%A3&output=json&key=
//根据“北一环路和阜阳路的交叉路口”名称返回坐标“lng:117.294364, lat:31.885558”,以json格式输入
http://api.map..com/geocoder?address=%E5%8C%97%E4%B8%80%E7%8E%AF%E8%B7%AF%E5%92%8C%E9%98%9C%E9%98%B3%E8%B7%AF%E7%9A%84%E4%BA%A4%E5%8F%89%E8%B7%AF%E5%8F%A3&output=xml&key=
//根据“北一环路和阜阳路的交叉路口”名称返回坐标“lng:117.294364, lat:31.885558”,以xml格式输入
根据坐标获取它的地址
http://api.map..com/geocoder?output=json&location=39.983424,%20116.322987&key=
//解析“lat:39.983424, lng:116.322987”坐标返回“北京市海淀区中关村大街27号1101-08室”,以json格式输出
http://api.map..com/geocoder?output=xml&location=39.983424,%20116.322987&key=
//解析“lat:39.983424, lng:116.322987”坐标返回“北京市海淀区中关村大街27号1101-08室”,以xml格式输出
网络地址http://developer..com/map/geocoding-api.htm
『捌』 js怎么获得鼠标当前坐标
吸使用以下几种方式获取:
1.PageX/PageX:鼠标在页面上的位置,从页面左上角开始,即是以页面为参考点,不随滑动条移动而变化
2.clientX/clientY:鼠标在页面上可视区域的位置,从浏览器可视区域左上角开始,即是以浏览器滑动条此刻的滑动到的位置为参考点,随滑动条移动 而变化.
可是悲剧的是,PageX只有FF特有,IE这个悲剧没有啊T_T,所以大牛们想出了一个办法
PageY=clientY+scrollTop-clientTop;(只讨论Y轴,X轴同理,下同)
3.screenX/screenY:鼠标在屏幕上的位置,从屏幕左上角开始(w3c标准)
4.offsetX/offsetY:IE特有,鼠标相比较于触发事件的元素的位置,以元素盒子模型的内容区域的左上角为参考点,如果有boder,可能出现负值
5.
layerX/layerY:FF特有,鼠标相比较于当前坐标系的位置,即如果触发元素没有设置绝对定位或相对定位,以页面为参考点,如果有,将改变参考坐标系,从触发元素盒子模型的border区域的左上角为参考点也就是当触发元素设置了相对或者绝对定位后,layerX和offsetX就幸福地生活在一起^-^,几乎相等,唯一不同就是一个从border为参考点,一个以内容为参考点
chrome和safari一条龙通杀!完全支持所有属性.其中(offsetX和layerX都是以border为参考点)
下面这个是获取相对于屏幕的坐标
document.onmousemove=function(e){e=e? e:window.event;document.writeln("X:"+e.screenX+"Y:"+e.screenY);}
『玖』 百度地图js api 获取当前位置怎么不显示地图
http://developer..com/map/reference/index.php?title=Class:%E6%9E%81%E9%80%9F%E7%89%88%E6%A0%B8%E5%BF%83%E7%B1%BB/map调用map的getZoom()方法可获取当前地图的放专大级别属
『拾』 百度地图API JavaScript关键字检索后怎么获得到当前位置的窗口信息内容
var options = {
onSearchComplete: function(results){
// 判断状态是否正确
if (local.getStatus() == BMAP_STATUS_SUCCESS){
var s = [];
for (var i = 0; i < results.getCurrentNumPois(); i ++){
s.push(results.getPoi(i).title + ", " + results.getPoi(i).address);
}
document.getElementById("r-result").innerHTML = s.join("<br/>");
}
}
};
地址http://developer..com/map/jsdemo.htm#i1_4