手机js页面实现一键定位,并且把获取的地理位置显示到文本框中代码?

JavaScript026

手机js页面实现一键定位,并且把获取的地理位置显示到文本框中代码?,第1张

手机js页面实现一键定位,并且把获取的地理位置显示到文本框中代码如下:

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: '/' })

}

一、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>

二、获取客户端地址代码

<script>

var url = 'http://chaxun.1616.net/s.php?type=ip&output=json&callback=?&_=' + Math.random()

$.getJSON(url, function(data) {

alert(data.Ip)

})

</script>

你这个需求确实挺奇怪的,先假定你要查找的 key 里面没有什么特殊字符,那用正则表达式匹配的话这个函数可以这么写,实际情况要写一个非常严密的正则表达式要复杂一些:

 function getValue( key, str ) { 

    

     var m = str.match( new RegExp('"' + key + '"\:"?(.+?)"?[,}]') )

    

     return m ? m[ 1 ] : false

 }

 var str = '{"success":true,"message":"修改成功"}'

 

 getValue( 'success', str ) // return true

 

 getValue( 'message', str ) // return 修改成功

但是按照你的例子来看,你这个字符串是一个合法的 JSON,所以如果是字符串的话,你可以直接使用 JSON 类去解析:

var str = '{"success":true,"message":"修改成功"}'

var res = JSON.parse( str )

alert( res.success ) // true

alert( res.message ) // 修改陈功

如果不一定是一个标准的 JSON,或者你的环境还不支持 JSON(比如 IE7或更早的 IE 浏览器),可以通过下面方法将其解析成一个 JS 字面量对象:

var str = '{"success":true,"message":"修改成功"}'

var res = (new Function("return (" + str + ")"))()

alert( res.success )

alert( res.message )

function selectInput(choose)\x0d\x0a{ \x0d\x0aalert(choose.options[choose.selectedIndex].text)\x0d\x0a}\x0d\x0a///=========\x0d\x0a\x0d\x0a\x0d\x0a北京\x0d\x0a 广州\x0d\x0a 哈尔滨\x0d\x0a 拉萨\x0d\x0a 乌鲁木齐\x0d\x0a