/**
* 根據(jù)電話號(hào)碼獲取位置信息
* @param phoneNo 電話號(hào)碼
* @param succFunc 調(diào)用接口成功的回調(diào)函數(shù)
* 回調(diào)函數(shù)入?yún)⒌臄?shù)據(jù)格式如下:
* {
"mobile": "18576648552",
"province": "廣東",
"isp": "中國聯(lián)通",
"stock": "1",
"amount": "10000",
"maxprice": "0",
"minprice": "0",
"cityname": "深圳"
}
*/
function getPositionByPhoneNo(phoneNo, succFunc)
{
$.ajax({
url: "",
type: "post",
data: {mobile: phoneNo, amount: 10000},
dataType: "jsonp",
jsonp: "callname",
jsonpCallback: "getPhoneNumInfoExtCallback",
success: function(data){
if(succFunc)
{
succFunc(data);
}
},
error: function(xhr, errorCode){
console.log("根據(jù)手機(jī)號(hào)獲取歸屬地服務(wù)失敗【前端】");
if(succFunc)
{
succFunc({});
}
}
});
}
/**
* 將數(shù)字金額進(jìn)行千位分隔
* @param number 需要分隔的數(shù)字
* @return 返回分割后的數(shù)字
*/
function formatFloatToThousand(number)
{
number = number.toString();
var resultArray = [];
var pointPosi = number.indexOf("."); // 取得小數(shù)點(diǎn)的位置
var int = pointPosi == -1 ? number : number.substring(0, pointPosi); // 取得小數(shù)中的整數(shù)部分
var float = pointPosi == -1 ? '' : number.substring(pointPosi + 1, number.length);
var remainSum = int.length % 3; // 超過 3 的位數(shù)
if(int.length < 3)
{
return number;
}
if(remainSum == 0)
{
resultArray = resultArray.concat(int.match(/d{3}/g));
}
else
{
resultArray.push(int.substring(0, remainSum));
int = int.substring(remainSum);
resultArray = resultArray.concat(int.match(/d{3}/g));
}
return pointPosi == -1 ? resultArray.join(',') : resultArray.join(',') + '.' + float;
}
/**
* 測(cè)量文本的寬度
* @param $source 需要測(cè)量文本寬度的 jquery 對(duì)象
*/
function measureTxtWidth($source)
{
var txtWidth = null;
var text = $source.text();
var $span = $("<span>" + text + "</span>").appendTo("body");
$span.css({whiteSpace: "nowrap", font: $source.css("font")});
txtWidth = $span.width();
$span.remove();
return txtWidth;
}
使用新浪開放 api 獲取當(dāng)前位置:
返回的數(shù)據(jù)格式如下:
{
"ret": 1,
"start": "180.149.132.0",
"end": "180.149.159.255",
"country": "中國", // 國家
"province": "北京", // 省份
"city": "北京", // 城市
"district": "",
"isp": "電信", // 運(yùn)營商
"type": "企業(yè)",
"desc": "中國電信集團(tuán)電信"
}
/**
* 獲取地理定位信息,使用騰訊地圖進(jìn)行定位
* @param getSuccFunc 獲取成功的回調(diào)函數(shù)回調(diào)函數(shù)
*/
function getGeolocation(getSuccFunc)
{
var succResult = {}; // 請(qǐng)求位置成功的結(jié)果
var geolocation = new soso.maps.Geolocation();
var positionParam = {
locationMode: "CLIENT_IP" // ip定位
};
var positionCallback = function(data, status){
if(status === "OK")
{
if(data && data.latLng)
{
succResult.latitude = data.latLng.lat; // 緯度
succResult.longitude = data.latLng.lng; // 經(jīng)度
}
}
if(getSuccFunc)
{
getSuccFunc(succResult);
}
};
geolocation.position(positionParam, positionCallback);
}
/**
* 將數(shù)字轉(zhuǎn)換成字符串的通用方法
* 說明:直接使用 toFixed 方法會(huì)進(jìn)行四舍五入,因此寫一個(gè)將數(shù)字轉(zhuǎn)換為指定小數(shù)位數(shù)字符串的方法
* @param sourceData 源數(shù)據(jù)
* @param decimalLen 小數(shù)的位數(shù)
*/
function numberToString(sourceData, decimalLen)
{
decimalLen = typeof(decimalLen) == undefined ? 0 : decimalLen;
var result = sourceData + "";
var integerStr = null; // 整數(shù)部分
var decimalStr = null; // 小數(shù)部分
if(result.indexOf(".") == -1)
{
result = Number(result).toFixed(decimalLen);
}
else
{
integerStr = result.substring(0, result.indexOf(".")); // 整數(shù)部分
decimalStr = /.d+/.exec(result); // 小數(shù)部分
decimalStr = Number(decimalStr);
decimalStr = decimalStr.toPrecision(decimalLen).substr(0, decimalLen + 2);
result = integerStr + decimalStr.substr(1);
}
return result;
}
/**
* 根據(jù)電話號(hào)碼獲取位置信息,使用拍拍開放 api
* @param phoneNo 電話號(hào)碼
* @param succFunc 調(diào)用接口成功的回調(diào)函數(shù)
* 回調(diào)函數(shù)入?yún)⒌臄?shù)據(jù)格式如下:
* {
"mobile": "18576648552",
"province": "廣東",
"isp": "中國聯(lián)通",
"stock": "1",
"amount": "10000",
"maxprice": "0",
"minprice": "0",
"cityname": "深圳"
}
*/
function getPositionByPhoneNo(phoneNo, succFunc)
{
$.ajax({
url: "",
type: "post",
data: {mobile: phoneNo, amount: 10000},
dataType: "jsonp",
jsonp: "callname",
jsonpCallback: "getPhoneNumInfoExtCallback",
success: function(data){
if(succFunc)
{
succFunc(data);
}
},
error: function(xhr, errorCode){
console.log("根據(jù)手機(jī)號(hào)獲取歸屬地服務(wù)失敗【前端】");
}
});
}
更多信息請(qǐng)查看IT技術(shù)專欄