Durante el desarrollo del proyecto de este año, inicialmente entré en contacto con el desarrollo web móvil, y aprendí HTML5 mientras me desarrollé. Principalmente utilicé la tecnología móvil jQuery. Descubrí que esto no es adecuado para productos de Internet. La mayoría de los estilos deben reescribirse, y solo se utilizan algunas funciones. Durante el desarrollo de la web de teléfonos móviles, estuve expuesto a la función de posicionamiento por primera vez. A través de los principales motores de búsqueda, descubrí que el posicionamiento del teléfono móvil es a través del posicionamiento del navegador. Cuando se usa en el navegador PC, el mensaje "si habilita la función de posicionamiento" aparecerá por primera vez. Cuando Boss vio este aviso, sintió que la experiencia del usuario no era buena. Si no fuera bueno, entonces lo implementaría de otra manera. Esto no es un gran problema. La cara del jefe cambió drásticamente y dijo: no debería haber tal experiencia. Hacemos esto para apresurar y lanzar nuevas funciones lo antes posible.
1. Método de posicionamiento web del teléfono móvil:
La copia del código es la siguiente:
var getLocation = function (SuccessFunc, ErrorFunc) {// SuccessFunc obtiene la función de devolución de llamada para un posicionamiento exitoso, ErrorFunc obtiene la devolución de llamada fallida en el posicionamiento
// Establecer la ciudad predeterminada primero
var defcity = {
ID: '000001',
Nombre: 'Beijing',
Fecha: curdateTime () // Obtener el método de hora actual
};
// Ciudad predeterminada
$ .cookie ('vpiao_mobile_defaultcity', json.stringify (defcity), {expires: 1, ruta: '/'});
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition (función (posición) {
var lat = posicion.coords.latitude;
var lon = posicion.coords.nongitude;
// var map = new bmap.map ("contenedor"); // crear una instancia de mapa
punto var = nuevo BMAP.Point (Lon, Lat); // Crear coordenadas de puntos
var gc = new BMap.Geocoder ();
gc.getLocation (punto, function (rs) {
var addComp = rs.addressComponents;
var curcity = {
identificación: '',
Nombre: addComp.Province,
Fecha: curdateTime ()
};
// Ciudad actualmente ubicada
$ .cookie ('vpiao_mobile_currentcity', json.stringify (curcity), {expires: 7, ruta: '/'});
//alert(addComp.Province + "," + addComp.City + "," + addComp.District + "," + addComp.street);
if (SuccessFunc! = Undefined)
SuccessFunc (addComp);
});
},
función (error) {
switch (error.code) {
Caso 1:
alerta ("Servicio de ubicación denegado");
romper;
Caso 2:
alerta ("La información de ubicación no se puede obtener por el momento");
romper;
Caso 3:
alerta ("Obtenga tiempo de espera de información de ubicación");
romper;
por defecto:
alerta ("Error desconocido");
romper;
}
var curcity = {
ID: '000001',
Nombre: 'Beijing',
Fecha: curdateTime ()
};
// Ciudad predeterminada
$ .cookie ('vpiao_mobile_defaultcity', json.stringify (curcity), {expires: 1, ruta: '/'});
if (errorfunc! = Undefined)
ErrorFunc (error);
}, {tiempo de espera: 5000, EnableHighAccuracy: true});
} demás {
alerta ("Su navegador no admite obtener información de geolocalización");
if (errorfunc! = Undefined)
ErrorFunc ("Su navegador no admite obtener información de geolocalización");
}
};
var showPosition = function (posición) {
var lat = posicion.coords.latitude;
var lon = posicion.coords.nongitude;
// var map = new bmap.map ("contenedor"); // crear una instancia de mapa
punto var = nuevo BMAP.Point (Lon, Lat); // Crear coordenadas de puntos
var gc = new BMap.Geocoder ();
gc.getLocation (punto, function (rs) {
var addComp = rs.addressComponents;
var curcity = {
identificación: '',
Nombre: addComp.Province,
Fecha: curdateTime ()
};
// Ciudad actualmente ubicada
$ .cookie ('vpiao_mobile_currentcity', json.stringify (curcity), {expires: 7, ruta: '/'});
//alert(addComp.Province + "," + addComp.City + "," + addComp.District + "," + addComp.street);
});
};
var showPositionError = function (error) {
switch (error.code) {
Caso 1:
alerta ("Servicio de ubicación denegado");
romper;
Caso 2:
alerta ("La información de ubicación no se puede obtener por el momento");
romper;
Caso 3:
alerta ("Obtenga tiempo de espera de información de ubicación");
romper;
por defecto:
alerta ("Error desconocido");
romper;
}
var curcity = {
ID: '000001',
Nombre: 'Beijing',
Fecha: curdateTime ()
};
// Ciudad predeterminada
$ .cookie ('vpiao_mobile_defaultcity', json.stringify (curcity), {expires: 1, ruta: '/'});
};
El requisito previo es introducir Baidu API: <script src = "http://api.map.baidu.com/api?v=1.4" type = "text/javaScript"> </script>
2. PC Side implementa el método IP:
Usando la interfaz proporcionada por Tencent, esto ya no está disponible
La copia del código es la siguiente:
<script type = "text/javaScript" src = "http://fw.qq.com/ipaddress"> </script>
<script type = "text/javaScript">
document.write (ipData [0]); // Mostrar dirección IP
document.write (ipData [2]); // show save
document.write (ipData [3]); // Mostrar la ciudad
</script>
Adoptar la interfaz SINA: http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
Método de prueba de múltiples regiones: http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=127.0.0.1
La copia del código es la siguiente:
<script type = "text/javaScript">
$ .getScript ('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js', function (_result) {
if (remoto_ip_info.ret == '1') {
alert ('país:' + remoto_ip_info.country + '<br> provincia:' + remoto_ip_info.province + '<br> City:' + remotos_ip_info.city + '<br> local:' + remotos_ip_info.district + '<br> ISP:' + remo_ip_info.isp + '<r> type:' + ' +' + ' +' + ' +' +tyfo. '<br> otros:' + remoto_ip_info.desc);
} demás {
alerta ('No se encontró información de dirección IP coincidente!');
}
});
</script>
Interfaz de dirección IP de NetEase YouDao (esto se debe probar)
http://www.youdao.com/smartresult-xml/search.s?type=ip&q=ip dirección
Interfaz de solicitud de taobao (obtener)
La copia del código es la siguiente:
<script>
var ip = "124.127.108.133";
var url = "http://ip.taobao.com/service/getipinfo.php?ip=" + ip;
$ .getjson (url, function (json) {
var myProvince2 = json.data.area;
var mycity2 = json.data.region;
alerta ("Tu ciudad es:" + myProvince2 + mycity2);
});
</script>
Interfaz API de la biblioteca de direcciones IP de Pacific
http://whois.pconline.com.cn/?ip=[ip String de dirección]
Además: Google, Sohu y otras interfaces proporcionan interfaces correspondientes, puede probarlo usted mismo.
Interfaz de consulta de dirección IP de SOHU (GBK predeterminado): http://pv.sohu.com/cityjson
Interfaz de consulta de direcciones IP de SOHU (se puede configurar la codificación): http://pv.sohu.com/cityjson?ie=utf-8
La otra interfaz de consulta de dirección IP de Sohu: http://txt.go.sohu.com/ip/soip
3. Obtenga el método de IP del cliente
La copia del código es la siguiente:
<script>
var url = 'http://chaxun.1616.net/s.php?type=ip&output=json&callback=?&_=' + math.random ();
$ .getjson (url, function (data) {
alerta (data.ip);
});
</script>
Eso es todo hoy. Todavía hay mucho trabajo para completar. Puede probar otras interfaces cuando tenga tiempo. Todos son bienvenidos a venir y proporcionar mejores métodos.