/**
|
* MapIconMaker v1.0
|
* Copyright (c) 2008 Pamela Fox
|
*
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
* you may not use this file except in compliance with the License.
|
* You may obtain a copy of the License at
|
*
|
* http://www.apache.org/licenses/LICENSE-2.0
|
*
|
* Unless required by applicable law or agreed to in writing, software
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* See the License for the specific language governing permissions and
|
* limitations under the License.
|
*
|
*
|
* Author: Pamela Fox
|
*
|
* This gives you static function(s) for creating dynamically sized and
|
* colored marker icons using the Charts API marker output.
|
*/
|
|
var MapIconMaker = {};
|
|
MapIconMaker.createMarkerIcon = function(opts) {
|
var width = opts.width || 32;
|
var height = opts.height || 32;
|
var primaryColor = opts.primaryColor || "#ff0000";
|
var strokeColor = opts.strokeColor || "#000000";
|
var cornerColor = opts.cornerColor || "#ffffff";
|
|
var baseUrl = "http://chart.apis.google.com/chart?cht=mm";
|
var iconUrl = baseUrl + "&chs=" + width + "x" + height +
|
"&chco=" + cornerColor.replace("#", "") + "," + primaryColor.replace("#", "") + "," + strokeColor.replace("#", "") + "&ext=.png";
|
var vv = new google.maps.Size(width, height);
|
var icon = new google.maps.MarkerImage();
|
icon.image = iconUrl;
|
icon.iconSize = new google.maps.Size(width, height);
|
icon.shadowSize = new google.maps.Size(Math.floor(width*1.6), height);
|
icon.iconAnchor = new google.maps.Point(width/2, height);
|
icon.infoWindowAnchor = new google.maps.Point(width/2, Math.floor(height/12));
|
icon.printImage = iconUrl + "&chof=gif";
|
icon.mozPrintImage = iconUrl + "&chf=bg,s,ECECD8" + "&chof=gif";
|
var iconUrl = baseUrl + "&chs=" + width + "x" + height +
|
"&chco=" + cornerColor.replace("#", "") + "," + primaryColor.replace("#", "") + "," + strokeColor.replace("#", "");
|
icon.transparent = iconUrl + "&chf=a,s,ffffff11&ext=.png";
|
|
icon.imageMap = [
|
width/2, height,
|
(7/16)*width, (5/8)*height,
|
(5/16)*width, (7/16)*height,
|
(7/32)*width, (5/16)*height,
|
(5/16)*width, (1/8)*height,
|
(1/2)*width, 0,
|
(11/16)*width, (1/8)*height,
|
(25/32)*width, (5/16)*height,
|
(11/16)*width, (7/16)*height,
|
(9/16)*width, (5/8)*height
|
];
|
for (var i = 0; i < icon.imageMap.length; i++) {
|
icon.imageMap[i] = parseInt(icon.imageMap[i]);
|
}
|
icon.url = iconUrl;
|
return icon;
|
}
|