2011-04-26 16 views

Respuesta

0

El iPod Touch hace algo como esto. No tiene un chip GPS, sino que utiliza las redes WiFi disponibles en el área para tener una idea aproximada de dónde se encuentra.

2

probar este mapa

map.showsUserLocation = YES; 

es mi MKMapView objeto.

4

Sí, CoreLocation puede triangular su posición a través de torres de teléfonos celulares cercanas, pero la posición no será tan precisa como con el GPS. Además, puede obtener su ubicación a través de WLAN cercanas, pero esto es aún menos confiable.

7

El iPhone SDK tiene un marco que utiliza automáticamente el mecanismo adecuado para determinar la ubicación en función de qué tan preciso debe ser el resultado. Apple tiene un good article discussing these different methods of locating a device.

También, here is a good starting point para aprender sobre programación con Servicios de ubicación.

Además, puede dive right into the CoreLocation framework documentation y aprender todo lo que puede hacer usando Servicios de ubicación en iOS.

2

Bueno, esa es una pregunta muy amplia y muy general. Si está hablando de teléfonos celulares, puede usar la triangulación de tres torres, que es buena cuando golpea tres torres de una vez, pero si solo está golpeando una, el error puede ser de hasta unos pocos kilómetros.

Ahora, si está hablando de dispositivos de acceso a Internet (es decir, algo con una dirección IP), de nuevo las cosas se ponen feas. Si está utilizando un punto de acceso estacionario, obtendrá una aproximación cercana usando los concentradores conocidos más cercanos con el rango de IP en el que se encuentra el dispositivo. Los dispositivos móviles con direcciones IP son realmente difíciles de precisar.

1

Para añadir a @ respuesta de Jenifer

showsUserLocation 

Discusión

Esta propiedad no indica si la posición del usuario es realmente visible en el mapa, sólo se si la vista de mapa está permitida a mostrarlo. Para determinar si la posición del usuario es visible, use la propiedad userlocationVisible . El valor predeterminado de esta propiedad es NO.

Establecer esta propiedad en sí provoca vista el mapa para utilizar el marco de Core Location para encontrar la corriente ubicación. Mientras esta propiedad sea SÍ, la vista de mapa continúa rastreando la ubicación del usuario y la actualiza periódicamente.

Core Location Marco

El Core marco Ubicación le permite determinar la ubicación actual o partida asociados con un dispositivo. El marco utiliza el hardware disponible para determinar la posición del usuario y el encabezado . Utilice las clases y los protocolos en este marco para configurar y programe la entrega de los eventos de ubicación y rumbo . Puede también usarlo para definir regiones geográficas y monitorear cuando el usuario cruza los límites de esas regiones .

Si usted quiere saber cómo hace el Core Location este

En realidad usa varios mecanismos.

  1. GPS
  2. torre de la célula triangulación
  3. Wifi Hotspot catalogación
  4. aleatoriamente asumiendo que son en Cupertino

hay ventajas y desventajas en base a la velocidad, la precisión y el hardware disponible. Un primer iPad Gen solo tendrá las 3 opciones disponibles mientras el simulador de iPhone hace uso del último mecanismo.

Puede observar la diferencia en estos sistemas en la aplicación de mapas donde inicialmente adivina basándose en la torre de la celda, y luego refina la conjetura mediante GPS.

Solo las opciones n. ° 3 requieren una conexión de datos.

Y para las deficiencias de humor incluyendo # 4 no fue totalmente grave, aunque es funcionalmente correcta. (Creo que simulan los GPS de informes que la ubicación en lugar de sólo codificar duro, pero no lo he comprobado.)

De How does CoreLocation locate the device?

+0

pero ¿podemos optar por NO usar gps si los otros métodos están disponibles? Me he estado preguntando sobre esto, porque cuando la aplicación solicita al usuario que use los servicios de ubicación, permanece encendida y usa mucho batt. Me gustaría evitar eso y, por lo tanto, no activarlo si hay otros métodos disponibles. – DevilInDisguise

3

Core Location hace lo que quiere (mediante el uso de Wi-Fi triangulación). Consulte la documentación de CLLocationManager

Cuestiones relacionadas