Accessing native gps from a website - gps

I have developed a web site that can detect user location using html5 navigator.geolocation. But the accuracy is very poor, average accuracy reported back from navigator.geolocation.getCurrentPosition() is 1KM even though I set the option to high accuracy {enableHighAccuracy:true}.
But I know the phone itself can provide much better accuracy. When I use other Google apps, the position is dead on.
Can I access to the phone's native gps directly from a web site running on the browser?
Thanks!

Related

Google Pay on the web with 3ds

I'm trying to implement Google pay on the web by this example: https://developers.google.com/pay/api/web/guides/paymentrequest/tutorial.
When I remove "PAN_ONLY" from the example code, the button becomes invisible on my PC and on smartphone.
Under what conditions with the authentication method "CRYPTOGRAM_3DS" payment will be available?
I'm using the latest version of Google Chrome.
Tokenized cards are only available from your Android device today, where there are the means to securely authenticate the transaction and store sensitive information related to your forms of payment.
There are initiatives in the industry aiming at adding means of security and second factors to the web. These are expected to help the utilization of tokenization on the Web too.

Best practice for bulk uploading to Street View Publish API?

We're currently in the process of recording 1fps time-lapsed 4k 360 photos of every island in the Bahamas, with embedded GPS EXIF data. An average hour of filming tends to produce around 600 image frames, which can easily expand to 2000-10,000 images per day on bigger routes. 2000 or so are approved on Google Maps already, but we're hitting a larger brick wall.
The Street View app is obviously the best way to upload when you have 50-100 image files, but it obviously struggles when it starts to hit over 500+ uploads in a batch (publishing doesn't start, or the app crashes), so we're left manually submitting collections. Add that to the standard 4000/day quota, and it's quite a challenge.
Having looked at the Publish API, it's rather tricky to leave a CLI tool running as it's designed with OAuth flow in mind with 1hr access tokens. The service account route seems to the way to go, but the PHP API client seems to have scant documentation for SV Publishing. Connecting photos is also tricky with that many images.
We ideally need a desktop uploader (like the backup tool), or a way to directly import from folders in Google Drive. The first seems discontinued, and there's no data on the second.
Can anyone explain or elucidate on the best practice for this kind of volume upload with the Street View publishing service?
Since you are only capturing 4K images, it will be much simpler to use video mode, depending on if your camera supports it at the desired framerate. You may check this documentation for more information.
Additional information:
You may also check out some of the desktop utilities at the bottom of the Street View website which may be able to help.
You may want to consider one of the Street View ready cameras (also listed on the above webpage) that is capable of recording and uploading 360 videos to Street View. Upon publication, the 360 photo frames are extracted from the video and used to create an automatically connected Street View experience on Google Maps.
Check these pages to learn more about this option:
Set up and connect 360 cameras
Capture and publish in Video mode with the Street View app
Tips for capturing 360 videos for Street View

Android, Getting inconsistency in User Current Location.?

I am new in android and wanna get user current location using GPS_PROVIDER, but every time getting different-different location how can I use Google Play Services. and what is the best way to get accurate location in android.
Thanks you.
In general there are two different types of locations available through the Android API.
One is the GPS-Location which only works outdoors and which has an accuaracy between 5m and 50m.
The other kind of location is the so called Network-Location which is a loaction measure based on Wifi Networks in you surrounding and GSM-Base-Stations which have a accuracy between 100m and 1500m. This localization technique also works indoors, because it only requires you smartphone to have network access. The accuaracy gets better in urban areas where a lot of Wifi and GSM-Base-Stations are located. The more GSM-Base-Station / Wifi hotspos are available the better is the accurarcy of the loation measurement. It can also get down to 5m.
When requesting such an location Google does internally some magic to compute the position. This request requires a internet connection (you don't need to explicitly give the permission). Interanally Android sends a request to a Google server which contains fingerprints of the surrounding GSM-Base-Stations and afterwards computes your location (if you are curious you can find the code here).
With GPS-bases location the location accurarcy is the same all over the world without any internet connection, but works only outdoors.
With my applications I implemented a logic which detects if GPS is present or not and if not I switched to network localization, this works fine.

Online map locator api like GPS

Google maps, ip location etc. working good.
But none of the services are locating a computer exactly where it is on a map.
Anyone know any api which can locate a computer on a map without user inputs.
I am tired of ip location, it is not at all exact and my client is not happy. :(
Thanks
Gobi
What you're trying to do is not possible without specialized hardware. Google maps on cell phones without GPS uses cell tower station information. Most other phones use actual GPS receivers. With neither of those, the only way for your network-attached computer to tell where it is is by looking at who owns its IP address, which is what the IP location stuff does. Unfortunately, that database has pretty low geographical resolution. If you really want accurate and precise location information, you have to have a GPS receiver.
This cant be done unless you have some GPS device connected to the computer. But I guess it is forbidden in the licence to use real time tracking in Google Maps, but I might be wrong.
There's one more way, but I don't know how practical it is: visible wifi networks. If your PC has wifi hardware then you can often correlate the list of networks that you can see to an approximate location based on databases of networks and position. This is how e.g. iPod touches can locate themselves, and iPhones when there's poor GPS reception in built-up areas.
But even if your end-user has wifi hardware and you can somehow read the network list from it then I'm not sure if there are public datasets for this though.
The W3C Geolocation API allows websites to request the user's best available location from the browser. In some cases this will use IP geolocation which you've already seen to be inaccurate, but it can sometimes do better.
The API is agnostic to the device and the method used to obtain location; on an iPhone, the Geolocation API may use cell tower triangulation, available WiFi network lookup or GPS satellite geolocation, or some combination. On Firefox or Chrome on the laptop, Google uses WiFi networks and IP address to give a location which is often much, much better than IP geolocation alone.
If you had a GPS attached to your computer, it's possible that your browser could take advantage of that too -- it's expected that future versions of Internet Explorer will support the W3C Geolocation API using the Windows 7 Location Platform, which can accept location from an attached GPS or manual entry or some other plugin.

How should I integrate a live video feed onto a website?

I have a client who wants to display live 24 hour footage on their website, to show off the progress of a number of big refurbishment jobs they are carrying out.
I've looked at IP cameras and to be honest this looks like the most logical technology to use, but not sure if I'm missing something. Would it be possible to put the live feed straight from the camera onto their website (via an iFrame maybe)?
The website will be getting quite a few hits but nothing massive, so I think a regular broadband connection at each site should give them enough upload capacity to pull this off.
Am I approaching this from the right direction? Is there anything I should take into consideration before recommending a solution to the client?
Yes, that will work fine. Most IP cameras will provide a motion JPEG stream which is really just a collection of JPEG images.
This allows you to decide on what framerate you want to send up to the site.
Providing an iframe with some javascript to refresh the JPEG at your desired framerate would be an easy solution.