Home arrow JavaScript arrow Page 2 - A Closer Look at Smart Markers with Yahoo! Maps
JAVASCRIPT

A Closer Look at Smart Markers with Yahoo! Maps


The incorporation of Ajax-based geographical mapping applications, like the popular Yahoo! Maps, into an existing website can help to increase the number of potential visitors. So, if you're a web developer who wants to boost your web site's traffic by working with this powerful Yahoo! Ajax framework, or if you simply want to expand your skills in using its main features, then this series of articles might be what you're looking for.

Author Info:
By: Alejandro Gervasio
Rating: 5 stars5 stars5 stars5 stars5 stars / 4
May 06, 2008
TABLE OF CONTENTS:
  1. · A Closer Look at Smart Markers with Yahoo! Maps
  2. · Inserting smart markers into a satellite map
  3. · Dropping smart markers in a regional Yahoo! Map
  4. · Displaying smart markers on a hybrid Yahoo! Map

print this article
SEARCH DEVARTICLES

A Closer Look at Smart Markers with Yahoo! Maps - Inserting smart markers into a satellite map
(Page 2 of 4 )

As I expressed in the introduction, the goal of this particular tutorial is to demonstrate how to incorporate diverse smart markers into different Yahoo! Maps. So bearing this in mind, I’m going to start by showing you a concrete example where these markers are displayed on a satellite-based map.

This being said, please have a close look at the following code sample:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>Example on using smart markers with satellite YAHOO! Map</title>

<script type="text/javascript" src="http://api.maps.yahoo.com/ajaxymap?
v=3.7&appid=Your-AP-ID"></script>

<style type="text/css">

body{

padding: 0;

margin: 0;

background: #fff;

}

h1{

font: bold 16pt Arial, Helvetica, sans-serif;

color: #000;

text-align: center;

}

#mapcontainer{

height: 400px;

width: 500px;

margin-left: auto;

margin-right: auto;

}

</style>

</head>

<body>

<h1>Example on using smart markers with satellite YAHOO! Map</h1>

<div id="mapcontainer"></div>

<script type="text/javascript">

function initializeMap(){

// Create a new map object

var map=new YMap(document.getElementById('mapcontainer'));

// Add type controls to the map

map.addTypeControl();

// Add the Pan Control to the map

map.addPanControl();

// Add long zoom control to the map

map.addZoomLong();

// Set map type to YAHOO_MAP_SAT

map.setMapType(YAHOO_MAP_SAT);

// Display the map centered on the selected location

map.drawZoomAndCenter("Los Angeles",3);

// Add an event to report to our Logger

YEvent.Capture(map,EventsList.MouseClick,displaySmartMarker);

// display smartMarker

function displaySmartMarker(_e,_c){

var geoPoint=new YGeoPoint(_c.Lat,_c.Lon);

var newMarker= new YMarker(geoPoint);

// call 'autoexpand()' method

newMarker.addAutoExpand('This is a smart marker');

// add HTML to the smart marker

var markerHTML= '<p>This is the markup<br />';

markerHTML+='of the smart marker</p>';

YEvent.Capture(newMarker,EventsList.MouseClick,function()
{newMarker.openSmartWindow(markerHTML)});

map.addOverlay(newMarker);

}

}

window.onload=function(){

initializeMap();

}

</script>

</body>

</html>


Despite the fact that the previous practical example may look rather complex at first, it’s quite simple to grasp. First, a satellite map is built using the “YMap” JavaScript class, and then, the pertinent smart markers are constructed via another handy JavaScript class, called “YMarker.”

Also, it’s worthwhile to note here that each of the smart markers are created and dropped into the map by using a custom callback function, named “displaySmartMarker().” This is invoked each time a mouse click occurs within the map in question. As you learned in the previous article of the series, this event is properly handled by the “YEvent.Capture” JavaScript class, which is part of the Yahoo! UI library.

And finally, you should pay careful attention first to the way that smart markers are turned into “auto expandable” elements via the use of the corresponding “addAutoExpand()” method, and second to the manner in which they’re displayed on the selected map, which in this case was by using a dynamic box, called “smartWindow.” This can be hidden and shown alternatively in response to specific events, like mouse clicks, for instance.

Of course, the characteristic that turns a basic marker into a smart one is its capacity to include additional markup on its own. In the previous example, I decided to include an extra paragraph in each marker, but you can use other tags that probably will better suit your personal needs.

In either case, the functionality of smart markers will be best understood if you have a look at the following image, which demonstrates how they work. Here it is:



So far, so good. At this point, you hopefully learned the key concepts surrounding the incorporation of a few smart markers into a satellite Yahoo! Map. So, what’s next? Well, in the upcoming section of this tutorial, I’m going to teach you how to utilize the same smart markers that you learned earlier, but this time in conjunction with a regional map.

To see how this process will be achieved, please click on the link that appears below and keep reading.


blog comments powered by Disqus
JAVASCRIPT ARTICLES

- Project Nashorn to Make Java, JavaScript Wor...
- JavaScript Virus Attacks Tumblr Blogs
- Google Releases Stable Dart Version, JavaScr...
- Khan Academy Unveils New JavaScript Learning...
- Accessing Nitro? There`s an App for That
- JQuery 2.0 Leaving Older IE Versions Behind
- Fastest JavaScript Engine Might Surprise You
- Microsoft Adjusting Chakra for IE 10
- Brendan Eich: We Don`t Need Google Native Cl...
- An Overview of JavaScript Statements
- An Overview of JavaScript Operators
- Overview of JavaScript Variables
- More of the Top jQuery Social Plugins
- The Top jQuery Social Plugins
- More of the Top jQuery Slider Plugins

Watch our Tech Videos 
Dev Articles Forums 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us 
Weekly Newsletter
 
Developer Updates  
Free Website Content 
Contact Us 
Site Map 
Privacy Policy 
Support 

Developer Shed Affiliates

 




© 2003-2018 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap
Popular Web Development Topics
All Web Development Tutorials