How to get current location in google map for web - javascript

I am new to this API. I generated api key but I don't know how to implement google map.
I searched a lot but nothing is working for me. I need help in finding users or device current location.
I need to display google map in my website with pointing to the current location of the device using angularjs.
Can anyone please suggest me how to get current location in google map or any tutorial where can I get code.

to get the current position you need to take location from the navigator itself
with simple html5 geolocation code
<p id="demo"></p>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
after getting this location pass it on the map, your current location will be displayed

Related

Django web app that detects a smart-phone user's position

I want to build a web app using Django-Python that will be mainly used from smart-phones. I want the app to be able to detect the user's position and showcase it into a google maps front end. Basically, I want the app to be something like google maps GPS and then I will make some calculations with the coordinates and print out to the user some alternatives. I want the user's coordinates to be updated when he walks for example.
Do you have any suggestions about what modules, libraries or packages can I use to get this done? I found some packages like djangocms-gmaps but I am not sure if this is the right way to go.
This is not a function provided by Django. More javascript anf HTML5
Here is a example snippet that you ofcourse can use with a Django project.
<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
</script>

How to find my real latitude and longitude using JavaScript code?

I want to find my latitude and longitude using PHP.
I have tried multiple ways, but my solutions only show the service provider location and IP address. I want to find my real latitude and longitude.
I am using the below code but it's not working for me.
<!DOCTYPE html>
<html>
<body>
<p>Click the button to get your coordinates.</p>
<button onclick="getLocation()">Try It</button>
<p id="demo"></p>
<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
</script>
</body>
</html>
navigator.geolocation will generally use the most precise data available to the browser.
If the client has a GPS (as phones tend to) then it will probably use that.
If it has Wi-fi, then it may be able to use nearby access points to determine the location.
If it has to fallback to GeoIP lookups, then it will only be a precise as the data held on the ISP.
You are currently suffering from using a client which is using the last of the above. You can't get more precise than that without changing the client.

Check if user device's GPS is on

I am developing an app using jQuery Mobile with PHP. I am not using Phonegap or other frameworks. I need to find user's geolocation. If user device's GPS is off, then I cant get a location. now I need to find user device's GPS is on or off.
this is what i using now.
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
var lat=position.coords.latitude;
var long=position.coords.longitude;
}
You can call this function on load
// Function to get location
function getLocation(){
navigator.geolocation.getCurrentPosition(function (pos) {
var lat = pos.coords.latitude;
var lng = pos.coords.longitude;
if (lat == null) {
alert("GPS not activated!");
} else {
alert("Latitude: "+ lat + " , Longitude: " + lng );
}
});
}
There is no way to check if the device has a GPS module or if it has it enabled through the browser's API. Your laptop will, for example, try to estimate the position based on the IP address with very poor accuracy.
You can, however, use a trick that will likely be good enough for many applications: instead of using the getCurrentPosition(), use the watchPosition() function with an options object { enableHighAccuracy: true } and set a threshold of accuracy that the measurement has to reach for you to accept it as most likely a result based on the GPS module.
What happens when you start to listen to the watchPosition() with enableHighAccuracy set to true is that if GPS module is available, the API will let it know that you're trying to get a measurement and after up to a few seconds the accuracy distance will go from very high (often thousands of meters - based on IP address, cell tower triangulation, etc.) to a very low (few meters - based on the GPS) and that means that the GPS kicked in. If the accuracy stays at hundreds or thousands of meters, it probably means that there is no GPS module available.
Here's the documentation for the GeolocationCoordinates object (the result within the callback passed to the watchPosition()) which comes with the accuracy field. I wrote a longer post that also contains a code snippet showing how I use the API within React.
I just solved this one. I am using:
navigator.geolocation.getCurrentPosition(successCallback, errorCallback, {maximumAge: 60000});
In the successCallback i written the codes for what it should do once I got the positions and in the error callback i wrote a simple alert message to prompt the user to turn the GPS on.
I Implemented This In Real World Project
KMaps-API GPS.js
<script>
function getLocationw() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPositionw);
} else {
x.innerHTML = "Something Is Wrong";
}
}
function showPositionw(position) {
lat = position.coords.latitude;
if(lat != null){
document.write('<center><div class="alert alert-info" role="alert"> Please Turn On Your GPS </div></center>')
}
}
getLocationw();
</script>

constantly get the current position of a mobile phone

I would like to know how I can constantly get the current position of a mobile phone (latitude and longitude) using JavaScript.
Basically, when the phone is in a certain area I would like to start a timer. If the phone gets out of a certain area, the timer needs to stop. To do that, I need to constantly check each second, if the user is still in that area.
This is the code that I'm using to get the user's position:
if (navigator.geolocation){
navigator.geolocation.getCurrentPosition(showPosition);
}else{
alert("Geolocation is not supported by this browser.");
}
function showPosition(position) {
setInterval(function(){
lng = position.coords.longitude;
lat = position.coords.latitude;
geo.innerHTML="Latitude: " + lat +"<br>Longitude:" + lng;
myXhr.open("get", "Geo.php?lat="+lat+"&lng="+lng, true);
myXhr.send();}, 1000);
}
Moreover, when I tested it on my phone and I moved around a room, the coordinates did not change at all.
Thanks a lot for helping me out!

navigator.geolocation.getCurrentPosition() doesn't work

I am trying to get the latitude and longitude of my current location using geolocation. Extremely similar code was working until recently, and I can't figure out why it stopped working. It is no longer setting the variables latitude or longitude. When I walk through the js code, the getCurrentPosition() method is skipped and I'm not sure why. Bizarrely, if I put an alert box in the getCurrentPosition() method, it will get and display the latitude and longitude correctly... I have no idea why it does that.
var gl;
try {
if (typeof navigator.geolocation === 'undefined'){
gl = google.gears.factory.create('beta.geolocation');
} else {
gl = navigator.geolocation;
}
} catch(e) {}
var latitude;
var longitude;
if (gl) {
gl.getCurrentPosition(
function (position) {
latitude = position.coords.latitude;
longitude = position.coords.longitude;
//alert("got the lat & long - lat=" + latitude + ", lng=" + longitude);
},
function (error) {
alert("Error getting geolocation:" + error);
}
);
} else {
alert("Geolocation services are not supported by your web browser.");
}
I then go on to set some markers on a map using the Google Maps API.
Thank you very much,
Peter
EDIT
Here the code on JSFiddle showing the weird behavior:
http://jsfiddle.net/JtmCV/
I just tried your jsfiddle and it worked fine (Chrome 19 on Win 7), so I can't see why it should be causing problems.
Having said that, I'd strongly recommend switching to use navigator.geolocation.watchPosition instead of navigator.geolocation.getCurrentPosition. I recently did some work on a geolocation system and found getCurrentPosition can return unreliable cached positions, even if you use the options parameter to specify a low maximumAge value.
My latest version stops the watch after one of the following is true:
the fifth position has been returned
the accuracy is under 100m
the time since the watch began is over 30 seconds

Categories

Resources