Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3454948
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 18, 20262026-05-18T09:33:13+00:00 2026-05-18T09:33:13+00:00

I’m having a rather strange issue with the Google Maps javascript API and HTML5

  • 0

I’m having a rather strange issue with the Google Maps javascript API and HTML5 geolocation.

I have the following executed onload:

  var geocoder;
  var map;
  var latlng;
  function initialize() {
 if(navigator.geolocation){
  navigator.geolocation.getCurrentPosition(function(position){
   latlng = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
  });
 }else{
  latlng = new google.maps.LatLng(geoip_latitude(),geoip_longitude());
 }

 geocoder = new google.maps.Geocoder();
 var myOptions = {
   zoom: 8,
   center: latlng,
   streetViewControl: false,
   mapTypeId: google.maps.MapTypeId.HYBRID 
 };
 map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
   google.maps.event.addListener(map, 'click', function(event) {
  placeMarker(event.latLng);
  var latLong = String(event.latLng).replace('(', '');
  latLong = latLong.replace(')', '');
  $('#latlng').attr('value', latLong);
   });

   function placeMarker(location) {
  if(undefined != initialize.marker){
   initialize.marker.setMap(null);
  }
  initialize.marker = new google.maps.Marker({
   position: location, 
   map: map
  });
  initialize.marker.setMap(map);
  map.setCenter(location);
 }
  }

Now, what this should do is if the browser supports geolocation, get the lat+long, create a map, and display the map centered on the lat+long.

It works just fine if I use the geoip_ functions (maxmind), but the geolocation has a strange issue:

If the code is run as is, the google maps display shows up as a gray box with no map and no controls.

If I add an alert(); immediately after

if(navigator.geolocation){
    navigator.geolocation.getCurrentPosition(function(position){
        latlng = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
    });
}else{
    latlng = new google.maps.LatLng(geoip_latitude(),geoip_longitude());
}

the map displays just fine.

What’s up with that?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-18T09:33:14+00:00Added an answer on May 18, 2026 at 9:33 am

    The W3C Geolocation API is asynchronous; the success callback function you have (which sets the variable latlng) won’t be called immediately — the browser requires some time to actually do the geolocating; in fact, if the user takes some time to read the privacy prompt and decide whether or not to give permission, this process could take many seconds. In the meantime though, your map is loaded immediately.

    You’re probably finding that it works with an alert after it because the alert gives the browser some time to finish the geolocation process and call the callback before getting to the code that loads the map. (Just waiting a second or two isn’t a good solution though: some users and browsers will take much longer than that before revealing location.)

    To fix: call the function that creates the map (you’ll want to encapsulate practically everything after the geolocation call) and call it both in the success callback for getCurrentPosition and in the geoip else branch. That way you’ll only try to load the map after you’re guaranteed that the latlng variable has been appropriately filled.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm making a simple page using Google Maps API 3. My first. One marker
link Im having trouble converting the html entites into html characters, (&# 8217;) i
this is what i have right now Drawing an RSS feed into the php,
I have just tried to save a simple *.rtf file with some websites and
I ran into a problem. Wrote the following code snippet: teksti = teksti.Trim() teksti
I have a French site that I want to parse, but am running into
We're building an app, our first using Rails 3, and we're having to build
I'm parsing an RSS feed that has an ’ in it. SimpleXML turns this
I have a bunch of posts stored in text files formatted in yaml/textile (from
I have this code: - (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock { NSString *someString = [[NSString

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.