is there a way to find out the location without using GPS on the Windows phone 7. It's okay if ts approximate, as i want to get the city (not the precise longitude and latitude).
Use of the location API within Windows Phone 7 is described in this collection of MSDN articles. Pay special attention to the section in Location Programming: Best Practices about the right level of accuracy. When setting the GeoCoordinateWatcher to default instead of high accuracy it is optimzed for power-usage. In practice this means it will only resort to GPS of there is nothing else available.
All use of the location API will require you to ask the user for permission to use their location. The only way to get around that (if you really want to) is by using one of the tricks described in other answers.
I think it is not allowed by their policy. You have to use their Location services and include a on/off switch as well as privacy policy.
If you'll try to work around that, it may not pass the certification.
If you can find out the IP address assigned by an ISP (such as the IP address of the wireless router you connect to or the phone itself if it is on 4G (?)), you can use a GeoIP look-up. demo: http://www.geoiptool.com/
Related
I want to get all location within a particular radius distance. Which API should I use? I have the longitude and latitude of locations available.
You can use Gisgraphy. The best services for your specific case are
reversegeocoding or maybe the even better geolocalisation.
That's the page with the above APIs and it's well documented.
While this is the UserGuide for specific info on the service that you will choose.
The best IP geocode API that I've found is available from IPDATA.CO (www.ipdata.com). It's not free, but their rates are very reasonable, and it works really well.
I am very supprised when using openstreetmap to detect my location via openstreetmap site.
I use my laptop without any GPS receiver here. But it can point my location exactly to mets.
Could somebody please tell me how it can do that ?
There are several ways, I don't exactly know how OSM does it but it may be using the browser api to get the location, the browser knows a lot about where you are since it can check you IP, you Wifi connection and things like that.
Google for example has a database of all wifi networks any cellphone has connected to with it's gps location, so they guess where you are without gps based on witch wifis you can see.
OpenStreetMap, like most geo-based website, use the browser geolocation API to determine your location.
It is done by this javascript file on the OSM website.
The fact the position reported by your browser is more accurate indoor than GPS-based geolocation is probably because your browser use near WiFi SSID to "triangulate" your position (see this wikipedia article).
There may actually not be an answer to this question, but I wanted to post here just in case because it will require some out of the box thinking. This may not be a programmign question per se. If it isn't, rather than downvoting, perhaps you can suggest another stackoverflow site to use for this specific question?
We have installed, and have running, an SMS gateway from SMS Tools 3 (http://smstools3.kekekasvi.com/) and I can receive / send text messages.
Additionally, we have created a custom SMS application for Android / iPhone that embeds GPS location data into the sms message, but we are trying to figure out a way to obtain location based data from a user using a dumb phone (think NGO in Africa with users using the most basic of phones).
Is it possible to get location based data from a SMS message from a phone that lacks wifi/GPS? The only thought so far would be to somehow get the cell towers used by working with cell phone providers in the targeted country.
Thoughts?
Note: This is not an attempt to track users location unknowingly (else we wouldn't have created our custom SMS message application)
You can always do GSM tower triangulation (first iPhone did that) and you don't need to go to all operators - a lot of services out there.
Cellular localisation methods which do not use WiFi, GPS (and other satellite-based navigation systems) depend heavily on the radio access network (RAN), so will vary depending on the type of the operator network , (GSM/CDMA/UMTS/LTE etc.). Its important to understand this because often there are multiple types of networks coexisting in the same country, which can result in varying performance of the positioning scheme used.
Since your question specifically mentions GSM, lets stick to it. GSM cell triangulation encompasses different schemes for obtaining location info of the subscriber. Broadly, these schemes fall in two categories: Network-based and Terminal-based.
Network-based services require signaling in the operator's Core Network (CN) and could be triggered by an agreement with the operator. Technically, this occurs when a call is made or an SMS is sent to a pre-defined emergency number. For more technical details, refer to the ETSI spec [1]
*The drawback: Requires operator support!*
Terminal-based services are dependent on the presence of some location service on the mobile phone - GPS, Wi-Fi, Internet etc.. In the absence of these, there is conceivably only one solution: Have the Mobile Terminal (MT) send its cellular location information - [ MCC + MNC + LAC + CellId ] to the RAN which can forward the information to a GIS service than obtains the Lat/Long of the user. One GIS service that's freely available is Google's geolocation API [2]
[1] http://www.etsi.org/deliver/etsi_ts/101700_101799/101724/07.03.00_60/ts_101724v070300p.pdf
[2] https://developers.google.com/maps/documentation/business/geolocation/
Is there any way to know SIM is in roaming.
Does any AT cmd or any Remote Access Service API provide any help over this.
Or any TAPI api on win32 helps me in getting this information?
The technical definition of "roaming" is that you're not on your home network, i.e. you're talknig to a VLR (Visiting Location Register) instead of a HLR (Home Location Register). Obviously the VLR will be operated by a different company.
[edit]
On second thought, you'll see more changes. For instance, you'll also a foreign radio network. I.e. RILCELLTOWERINFO will contain a MCC/MNC that doesn't match your SIM.
There is a standard AT-command to do this:
AT+CREG?
You have to look at the second value (stat). If it's equal to 5, this means that the device is currently roaming.
For more information please look in the 3GPP TS 27.007 standard.
Anyone know application like network location(mac) for linux,windows.If not i am thinking of developing one for windows or linux.Application knows the location of user home,office etc.. then configure proxy according to the location its a handy tool actually.Any idea how to start that?
The max I can tell you is the city using the IP address using IP to Geo service. Finding out the exact position like office,home,restroom,metro etc looks quite tough unless you have some GPS device fitted to your computer.
Google launched it's Latitude service, but it was restricted to mobile devices. I am still unable to find how it can be done without any human intervention.
After thinking randomly and crazily, all I can say it that you need to hand over the information beforehand to the application which it can use to distinguish between home office or any other place.
BTW many applications have "Auto Detect Proxy" feature built in them. What is exactly you want to do now in this case?