Durante o desenvolvimento do projeto deste ano, inicialmente entrei em contato com o desenvolvimento da Web móvel e aprendi o HTML5 enquanto desenvolvia. Eu usei principalmente a tecnologia móvel jQuery. Descobri que isso não é adequado para produtos da Internet. A maioria dos estilos precisa ser reescrita e apenas algumas funções são usadas. Durante o desenvolvimento da Web de telefonia móvel, fui exposto à função de posicionamento pela primeira vez. Por meio dos principais mecanismos de pesquisa, descobri que o posicionamento do telefone celular é através do posicionamento do navegador. Quando usado no navegador do PC, o prompt "se deve ativar a função de posicionamento" aparecerá pela primeira vez. Quando Boss viu esse prompt, ele sentiu que a experiência do usuário não era boa. Se não fosse bom, eu o implementaria de outra maneira. Isso não é grande coisa. O rosto do chefe mudou drasticamente, e ele disse: não deve haver uma experiência tão. Fazemos isso para apressar e lançar novos recursos o mais rápido possível.
1. Método de posicionamento da web do telefone celular:
A cópia do código é a seguinte:
var getLocation = function (succcessfunc, errorfunc) {// succcessfunc recebe a função de retorno de chamada para o posicionamento bem -sucedido, o errorfunc obtém o retorno de chamada falha no posicionamento
// Defina a cidade padrão primeiro
var defcity = {
ID: '000001',
Nome: 'Pequim',
Data: CurdateTime () // Obtenha o método de horário atual
};
// Cidade padrão
$ .cookie ('vpiao_mobile_defaultCity', json.stringify (Defcity), {expira: 1, caminho: '/'});
if (navegator.geolocation) {
Navigator.geolocation.getCurrentPosition (função (posição) {
var lat = position.coords.latitude;
var lon = position.coords.longitude;
// var map = new bmap.map ("contêiner"); // Crie uma instância de mapa
var point = new bmap.point (LON, LAT); // Crie coordenadas de ponto
var gc = new bmap.geocoder ();
gc.getLocation (ponto, função (rs) {
var addComp = rs.AddressComponents;
varcity = {
eu ia: '',
Nome: AddComp.province,
Data: CurdateTime ()
};
// Atualmente localizado City
$ .cookie ('vpiao_mobile_currentcity', json.stringify (curcity), {expira: 7, caminho: '/'});
//alert(addcomp.province + "," + addComp.city + "," + addcomp.district + "," + addComp.street);
if (succcessfunc! = indefinido)
Successfunc (addComp);
});
},
função (erro) {
switch (error.code) {
Caso 1:
alerta ("Serviço de localização negado");
quebrar;
Caso 2:
alerta ("As informações de localização não podem ser obtidas por enquanto.");
quebrar;
Caso 3:
alerta ("Obtenha o tempo limite das informações de localização.");
quebrar;
padrão:
alerta ("erro desconhecido");
quebrar;
}
varcity = {
ID: '000001',
Nome: 'Pequim',
Data: CurdateTime ()
};
// Cidade padrão
$ .cookie ('vpiao_mobile_defaultCity', json.stringify (curcity), {expira: 1, caminho: '/'});
if (errorfunc! = indefinido)
errorfunc (erro);
}, {timeout: 5000, enableHighAccuracy: true});
} outro {
alerta ("Seu navegador não suporta obter informações sobre geolocalização.");
if (errorfunc! = indefinido)
errorfunc ("Seu navegador não suporta obter informações sobre geolocalização.");
}
};
var showPosition = function (posição) {
var lat = position.coords.latitude;
var lon = position.coords.longitude;
// var map = new bmap.map ("contêiner"); // Crie uma instância de mapa
var point = new bmap.point (LON, LAT); // Crie coordenadas de ponto
var gc = new bmap.geocoder ();
gc.getLocation (ponto, função (rs) {
var addComp = rs.AddressComponents;
varcity = {
eu ia: '',
Nome: AddComp.province,
Data: CurdateTime ()
};
// Atualmente localizado City
$ .cookie ('vpiao_mobile_currentcity', json.stringify (curcity), {expira: 7, caminho: '/'});
//alert(addcomp.province + "," + addComp.city + "," + addcomp.district + "," + addComp.street);
});
};
var ShowPositionError = function (Error) {
switch (error.code) {
Caso 1:
alerta ("Serviço de localização negado");
quebrar;
Caso 2:
alerta ("As informações de localização não podem ser obtidas por enquanto.");
quebrar;
Caso 3:
alerta ("Obtenha o tempo limite das informações de localização.");
quebrar;
padrão:
alerta ("erro desconhecido");
quebrar;
}
varcity = {
ID: '000001',
Nome: 'Pequim',
Data: CurdateTime ()
};
// Cidade padrão
$ .cookie ('vpiao_mobile_defaultCity', json.stringify (curcity), {expira: 1, caminho: '/'});
};
O pré -requisito é introduzir a API do Baidu: <script src = "http://api.map.baidu.com/api?v=1.4" type = "text/javascript"> </script>
2. PC implementa o método IP:
Usando a interface fornecida pela Tencent, isso não está mais disponível
A cópia do código é a seguinte:
<script type = "text/javascript" src = "http://fw.qq.com/ipaddress"> </script>
<script type = "text/javascript">
document.write (ipdata [0]); // Mostrar endereço IP
document.write (ipdata [2]); // Mostrar salvamento
document.write (ipdata [3]); // mostra a cidade
</script>
Adote a interface Sina: http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
Método de teste de várias regiões: http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=127.0.0.1
A cópia do código é a seguinte:
<script type = "text/javascript">
$ .getscript ('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js', function (_result) {
if (remote_ip_info.ret == '1') {
alerta ('country:' + remote_ip_info.country + '<br> Província:' + remote_ip_info.province + '<br> Cidade:' + remote_ip_info.city + '<br> local:' + remote_ip_infoin.district + '<br> iSp: Remonstion: remote_ip_info.type + '<br> Outros:' + remote_ip_info.desc);
} outro {
alerta ('nenhuma informação de endereço IP correspondente foi encontrada!');
}
});
</script>
Interface de endereço IP do NetEase Youdao (isso deve ser testado)
http://www.youdao.com/smartresult-xml/search.s?type=ip&q=ip endereço
Interface de solicitação de taobao (get)
A cópia do código é a seguinte:
<Cript>
var ip = "124.127.108.133";
var url = "http://ip.taobao.com/service/getipinfo.php?ip=" + ip;
$ .getjson (url, função (json) {
var myProvince2 = json.data.area;
var mycity2 = json.data.region;
alerta ("Sua cidade é:" + myprovince2 + mycity2);
});
</script>
Interface da API da biblioteca de endereço IP do Pacífico
http://whois.pconline.com.cn/?ip=[p String de endereço]
Além disso: Google, Sohu e outras interfaces fornecem interfaces correspondentes, você pode experimentar você mesmo.
Interface de consulta de endereço IP do Sohu (padrão GBK): http://pv.sohu.com/cityjson
Interface de consulta de endereço IP do Sohu (a codificação pode ser definida): http://pv.sohu.com/cityjson?ie=utf-8
Outra interface de consulta de endereço IP de Sohu: http://txt.go.sohu.com/ip/soip
3. Obtenha o método IP do cliente
A cópia do código é a seguinte:
<Cript>
var url = 'http://chaxun.1616.net/s.php?type=ip&output=json&callback=?&_=' + math.random ();
$ .getjson (url, função (dados) {
alerta (data.ip);
});
</script>
Isso é tudo hoje. Ainda há muitos trabalhos a serem concluídos. Você pode tentar outras interfaces quando tiver tempo. Todos são bem -vindos para vir e fornecer melhores métodos.