Skip to main content

The dancing bubble...

         "Why does this bubble not dance?" asked my friend's 6 year old sister referring to a marker she was seeing on the map! So I decided the this marker needs to be animated! So, I developed the following code which shows a marker that bounces on its position and can also be dragged anywhere on the map!

        The following is the code for the "dancing marker"...

<html>
<head>
<title>Google Maps JavaScript API v3 - Bouncing marker</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var marker;
var map;

function initialize()
{
    map = new google.maps.Map(document.getElementById("map"),
    {
        zoom: 5,
              mapTypeId: google.maps.MapTypeId.ROADMAP,
              center: new google.maps.LatLng(22.7964,79.5410)
    });
         
    marker = new google.maps.Marker(
    {
              map:map,
              draggable:true,
              animation: google.maps.Animation.DROP,
              position: new google.maps.LatLng(22.7964,79.5410)
        });
        google.maps.event.addListener(marker, 'click', markerBounce);
}

function markerBounce()
{
    if (marker.getAnimation() != null)
        marker.setAnimation(null);
    else
        marker.setAnimation(google.maps.Animation.BOUNCE);
}
</script>
</head>
<body onload="initialize()">
<div id="map" style="width: 500px; height: 400px;">map div</div>
</body>
</html>

         The dancing marker from the above code looks as seen in the image below!


         The code to make the marker bounce and move is not at all very special. It's just an adjustment of the marker properties as you can see in the code! I have just changed the dragging property of the marker to true and added the animation property as well.

         If you have any suggestion regarding the contents of the blog, please drop your comments here or feel free to drop me a mail!

Comments

Recommended for You

Fusion Table Layer...

    Today we will have a look at the "Fusion Table" Layer example. But before we start with the actual code, we will have a look at what Fusion Table is. Google Fusion Table is a free service for sharing and visualizing data online. It allows you to share data, merge data from multiple tables into interesting derived tables, and see the most up-to-date data from all sources. There is a lot of documentation about Google Fusion Table available on the web. You can visit their home page or the Google Research Blog to gather more information about Fusion Tables.     Let us have a look at the following code. The code is very short and simple to understand!     The few things to look out for in the above code are: The manner in which mapTypeId has been specified! In other Google Maps API v3 examples, we have seen that we specify mapTypeID as ROADMAP, SATELLITE, etc. i.e., all the letters are in uppercase and not in quotes! However, in this...

ES6 101 - Set

Spatial Unlimited changes to The UI Dev After being hosted on blogger 😣 for the last 6 years 📆, this page has finally been moved to Github.io This means a few things for you, dear reader! You will be redirected to the new page shortly! ⏩ ⏩ ⏩ Once crapy HTML is now better looking Markdown ! 😍 😍 The entire blog is a Github repo ! 😍 😍 Spatial Unlimited is now The UI Dev 😍 😍

Rail Radar - Map your Train Live!

    Rail Radar - An interactive map that allows users to watch the movements of trains that are currently running in India. This means that you can now know the status of your trains live! Rail Radar is a real time tracker of the Indian Railways passenger trains. This live tracker is shown on our very own Google Maps and this long awaited system is a result of a collaboration between the CRIS - Center for Railway Information System and RailYatri.in.     Since this is a live tracking system of the Indian Railways, a few questions that will pop up in the minds who have ever travelled by railways will be - "Is this system really reliable? Is the data accurate? Can I trust the Rail Radar ?" Well, the system is reliable and you can trust the data since the information and intelligence behind the Rail Radar is extracted and harnessed from volumes of data from the official Indian Railway's train running operational data. With regards to accuracy – this...

Reverse Geocoding

    The term geocoding generally refers to translating a human-readable address into a location on the map. The process of doing the converse, translating a location on the map into a human-readable address, is known as reverse geocoding. You can read more about geocoding here .     The Geocoder in Google Maps API v3, supports reverse geocoding directly. While geocoding, we supply a textual address and that gets mapped as a location on the map. However, in reverse geocoding, instead of supplying the textual address, we will supply a comma- separated latitude- longitude pair and get a textual address as the result. You can have a look at the geocoding example here , before proceeding to the reverse geocoding example.     The reverse geocoder often returns more than one result. Geocoding "addresses" are not just postal addresses, but any way to geographically name a location. For example, when geocoding a point in the city of Agra, India,...

A marker with an information window

         Following the sequence, I should be discussing a marker based example! Markers loading from an XML file. But, we will disrupt the sequence for the sole reason that I don't want to discuss comparatively tough examples as of now! So, we will jump on to a simple example to display an information window or the info window bubble as it is popularly known; along with a marker!          Let's have a look at the following code. This is a simple code which will place a marker at "India" with an information window attached to it which appears only when the marker is clicked! The code goes as below: <html> <head> <title> Google Maps JavaScript API v3 Example: Simple  Infowindow </title> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"> </script> <script type="text/javascript"> function initialize() {   ...