How does Google track me without using mobile my internet data plan? - google-maps

I'm developing an app that can shows all the bus lines in my city, i'd like to show if the bus is crowded or not, and even get the bus position by another user that is inside it.
But I don't want to use all the internet plan from my users, I see that Google does that, it knows when a restaurant or bar has people there, knows if a street is congested, and also get your path history.
I'm not asking for all the code, but kind of how does Google does that?

Google will be using mobile data when it tracks that - but I don't imagine sending a GPS co-ordinate every 30 mins will use much data.
And if it did - then Google will probably store that data offline and upload it later when a WiFi connection is available.

Related

Upload from offline HTML5 app when network available

Wow, my problem seems like it must be so common that I must just be missing something really obvious but here goes:
Is there any way to trigger/schedule a dormant offline HTML5 app to run either:
when network comes available,
or regularly.
I want to create an offline HTML5 app that will record details of a delivery (item description, recipient's name, photo, timestamp, etc). The data will be written to local storage (the photo converted to base64). If the app has network then the delivery data will be uploaded to a remote server. If the app does not have network then, even if the user powers the device down, next time the device is up and has network, I need the app to do the upload without any action by the user.
I've searched and found nothing. I'm guessing that offline apps only get run-time when in the foreground? If someone could confirm that then that would at least be good to know, even if it's not what I'd like to hear.
Thanks
Background sync, exactly what I was after (although in 2016 it was Chrome-only):
https://developers.google.com/web/updates/2015/12/background-sync

Eddystone + Google Beacon Platform

I am following the video from the google keynote (https://www.youtube.com/watch?v=3nYyApSiSLQ). I also have the same beacon in the demo (iBKS 105) and managed to provision it to serve UID. By using Google's Beacon Tools, I am able to detect and register the beacon in Google Beacon Dashboard and add in my attachments and URLs.
However, the moment I am done with the procedure, I am not able to see any nearby messages/notifications on my device. The guy who presented the demo did it with ease and I am wondering where I went wrong. What a I missing? I have done pretty much what the guy told in his keynote.
I have tried serving for Eddystone URL and successfully broadcasted the URL. I would really like to get the UID to work also.
I'm the guy in the video who did it with ease.
App-free solutions work with -UID, -EID, -TLM, -URL. On Android, you don't need an app to make your beacons useful.
If you do have an app, be sure to use Nearby Messages so that you get the most efficient possible scanning. (Also, no bluetooth permission required -- only location.)
The TLM frame will provide things like low battery alerts on the dashboard. You don't need an app to see these; the battery level is reported to the service with any Nearby request (including for Nearby Notifications).
Choose an interleaving ratio of -UID to -TLM of about 10:1, depending on how much traffic you're expecting your beacon to get. (If it's in a busy place, and you only want updates once/wk, you can go much less frequently than 10:1 with your -TLM frame.)
There was a question about iOS. There's a Nearby Messages Cocoapod that you can use with your iOS app just here. There's currently no equivalent to Nearby Notifications on iOS.
HTH!

Google Earth or Google Maps?

I have 3 weeks to develop a prototype. Bascially a fleet management system, browser based. It will be tracking tractors in open country, using low data rate satellite modems to report vehicle location on a regular basis.
I am struggling to get a grip on whether I want to use Google Earth or Google Maps:
ease of implementation (PHP/HTML 5, pulling data from a MySql database)
tracking each vehicle, drawing a line, toggle display of time and/or distance travelled at each location
visual appeal to user (given that it is open country, no real landmarks)
available overlays (rainfall, temperature data, elevation, etc)
anythign else?
I am toally at a loss on the mapping part (the reast I can do). Is one of Google Earth / Maps "best " for me? (not wanting to start a religious war)
Is it possible to use both and toggle between them?
Any other advice? I am googling like crazy and might not normally post this question before doing more research, but the dealine is ricdicuous. I am look at 16 hour days and need all of the help and advice that I can get. I will will have to live with the decision that I make now and I don't want to make a hasty one based on scant knowledge.
Thanks in advance...
[Update] oic. Google Earth is PC applicaion and Gogole maps is browser based. Well, I guess that that answers that, then.
[Update] Sigh! It's another of those where the head of the company uses an I-pad but the end users have Windows desktops. So he wants it browser based "just in case" he wants to look at it (which he might do twice in the first week and then never again). Why does it always seem to be this way?
To identify the right solution, you first need to identify your target audience for your app.
Will the users of the web-based app be using desktops, iPads, or
mobile devices that have Google Earth available?
Will the intented users be using large screens located at the data center (Google Earth or Google Maps will work) or remote users in the field (Google Maps might be best better fit)?
Not all mobile devices support the Google Earth application and the
mobile devices have a limited feature set.
Google Maps API, on the other hand, will run on nearly all web
browsers for a multiple of devices.
See details:
Google Earth for Mobile
http://www.google.com/earth/explore/products/mobile.html
Google Maps for Mobile
http://www.google.com/mobile/maps/
Also note if you use Google Earth API you can easily mashup Earth and Maps in single web application but again this requires those platforms that support the Google Earth client.
Here's a sample demo to try out:
http://earth-api-samples.googlecode.com/svn/trunk/demos/drive-simulator/index.html
Future proof your application. It is my impression Google Earth is on it's way out. It is hardly maintained and with browser makers actively discouraging the use of these plugins it is only a matter of time.
If you choose to use the Google mapping tools, do have a close look at Google Maps. Although Google currently offers a 3D version of Google Maps, it is not yet available for application developers. We are still stuck with 2D maps.
However, I expect that the maps API will not change drastically once 3D applications are allowed.
I am a specialist in the use of Google Earth API (planetinaction.com) and I have shifted from Google Earth to Google Maps wherever possible.
As an intermediate solution, you could build a maps based app but allow a 3D view option by popping up a Google Earth plugin. this keeps Google Earth dependencies to a minimum.

Maps-service for small internal project

I'm currently developing a small webpage for a customer where i need a simple map with pins. It's really basic usage and the customer is going to hit the page maybe 50-100 times/month, what is a good service price-wise? I have tried contacting google, bing, and two local (swedish) providers, but the customer service is.. not good...
Your problem is that you say it's an "internal" project - I assume this means that it's not hosted on a publicly-accessible webpage?
For non-public sites, both Google and Bing require you to take out an enterprise licence agreement, which is normally prohibitively expensive for small businesses. (Licences are individually-negotitated, but think of the order of $10,000 per annum).
Alternatively, you could look at using the Leaflet JS map control (http://leaflet.cloudmade.com), displaying data from open street map (http://osm.org) - both of which are free and open source (and, in many cases, have higher quality data than either Bing or Google anyway)
ask about the new Bing Maps CRM licensing thats available, it may well meet your needs and be cost effective for you

geolocation showing wrong location in google map

When I use http://html5demos.com/geo to locate myself, it shows wrong location(wrong city) in FF and chrome. Any reason why this is happening
I had the same problem using Chrome on Windows, but I got it to work, at least some of the time.
I was also using the example http://html5demos.com/geo
The location was not just inaccurate, it was also in the wrong city.
I tried the same example on my iPad (Safari) and there the location was correct. My iPad is using the same WiFi network as my PC, so I then knew it was not a problem with my ISP returning the wrong location, it was to do with the browser on my PC.
I got it to show the correct location in Chrome by going into the Chrome settings and clearing the cache and cookies.
It wasn't sufficient to just select in Chrome "Tools/Clear Browsing Data/Cookies & Cache",
it was only after in Chrome I selected "Settings/Privacy/Content Settings/All Cookies and Site Data" and deleting all cookies, did the example show the correct location.
Update 1: I tried the same geolocation example the next day, and to my annoyance it was again showing the wrong city. I tried to get it to work by clearing the Chrome settings as described above and this time this solution didn't work. However, when I used the application CCleaner and selected Cleaner/Applications and cleared all of the Chrome data (internet cache, internet history, cookies and session) the geo example showed the correct location. I'm using the latest version of Chrome. Hopefully in future versions it will work more consistently.
Update 2: I tried the procedure above at a later date and couldn't get it to produce the correct location at all. It could be that the geolocation is now returning the location of my internet service provider, rather than my location, using my IP and Google Location Services. Of course this location is fairly useless. The reason why my iPad is returning the correct location is probably because it contains an inbuilt GPS. The iPad 3G / 4G have a GPS chip built in to the GSM receiver chip, whereas WiFi only models have no GPS. When 'location services' are switched off in the iPad settings, location via both GPS and IP are switched off. It would be useful just to be able to switch off the GPS on my iPad and just use IP location, but I'm not sure if that is possible.
Update 3. As I mentioned, I'm using a WiFi stick in my PC. I have noticed that when I look at the available WiFi networks (with View Available Wireless Networks) and mine is the only network, the geolocation example returns a location in a different city, but if any of my neighbours have a WiFi network in range of my PC, the geolocation example returns my exact location, to within a few metres. i.e. the geolocation in the browser is clever enough to use this extra information to locate me.
(I think the other answers to this question completely on the wrong track. The questioner states that the location was being shown in the wrong city, so the question is not to do with the location accuracy)
Different devices have different degrees of accuracy and it is important that your application be aware of the difference. A cell phone that has a GPS unit inside of it that is switched on is usually accurate within three meters. A cell phone without a GPS unit, with the GPS unit switched off to maximize battery, or at a location where the GPS can’t contact the GPS satellites will have to use cell tower triangulation to estimate the users location and is typically accurate within 3000 meters which is accurate enough to know what neighborhood the user is in but completely useless to tell them what building they are looking at.
If the user is accessing your site from a computer connected to a land-based broadband connection it can usually pinpoint the precise address by consulting a provider database and pinpointing the exact address from the DSL or cable provider.
To get the accuracy of the location information, you can query the accuracy property on the coords object. The accuracy property isn’t exact by any means but it will give your application a good sense as to whether or not you have a nearly precise position or a neighborhood.
According to the Firefox geolocation FAQ, Firefox uses Google for location services. It sends Google the following information:
Your IP address
Information about nearby Wi-Fi access points
A random Google-assigned identifier (changed weekly)
I assume it will also use GPS data if your computer has a receiver installed, but the FAQ doesn't mention that. Maybe because there's no need to use Google's sever if you have GPS data available.
I assume that Chrome, as a Google product, is using the same geolocation database.
As for why you're getting incorrect answers, that would reside in Google's database. There are most definitely errors in there. For instance, my office computer shows up in Mexico city even though my IP address and the IP address of my employer's proxy server are both in Plano, Texas, and all other IP-to-location databases have this correct (taken from the registered whois data for the address.)
Here are two Google pages that they claim will help, although they haven't done a thing for me yet:
https://support.google.com/websearch/answer/873
https://support.google.com/websearch/contact/ip
The latter (contact/ip) is a form for reporting Google location problems that manifest as Google redirecting you to the wrong country's home page. They say it may take over a month to correct the database. I've been waiting nearly two months with no luck.
There are Firefox add-ons that can be used to force your browser to report a specific location. They're meant for debugging location-aware web services, but they could also be used in a case like this, where the normal method isn't working.
I think if you could user the the method watchPosition() instead of getCurrentPosition() the coordinates will be updated too much which will produce a better result
note : it's better to use another browser other than chrome it doesn't support the watchPosition() method good enough
I figured it out. Every mobile phone has its location mode default to High Accuracy. High Accuracy uses GPS, Wi-Fi, Bluetooth, or mobile Networks to determine location.
This might be a challenge as there are many variables to getting a device's location.
The solution will be to change the location mode from High Accuracy, to Device only or GPS only.
Device only or GPS only is supposed to use just GPS and device sensors to determine location. I have tried it, it works like a charm.
Use link below to change Location mode
https://www.verizon.com/support/knowledge-base-106080/
I depends on which method is used to get your location. If it uses IP then you could show up pretty much anywhere. If it uses Wifi then it might be just be biased data.