如何更改Gmap标记颜色?

时间:2009-11-15 08:49:37

标签: colors google-maps-api-3 markers

我有一个不同点的自定义谷歌地图:

Markers[0] = new Array(new GMarker(new GLatLng(45.0, 9.0)), "Location1", "<strong>Address Line</strong><br/>Some information");
Markers[1] = new Array(new GMarker(new GLatLng(45.0, 12.0)), "Location2", "<strong>Address Line</strong><br/>Some information");

我只想更改默认红色标记的颜色。 I.E.第二个蓝色。

怎么做?

4 个答案:

答案 0 :(得分:2)

在标记上使用setImage方法。

Marker[1].setImage('blue-icon.png');

http://gmaps-samples.googlecode.com/svn/trunk/whackamarker/whackamarker.htm

答案 1 :(得分:0)

您可以在原始标记上放置具有所需颜色的新标记。这个技术,有一个例子,在这里解释:http://esa.ilmari.googlepages.com/hellocolorswitch.htm

答案 2 :(得分:0)

如果您使用的是gmap3插件,则可以执行以下示例。

https://gmap3.net/api-marker.html

您可以像这样使用所有这些颜色和图标

https://sites.google.com/site/gmapsdevelopment/

答案 3 :(得分:-1)

这是一个简单的代码,允许谷歌地图的多个颜色标记

<?php
$con = mysql_connect("localhost","root","");
$Db=mysql_select_db("map",$con);
$select_det=mysql_query("select * from record");

// some code
?> 
<html>
<head>
<title>EasyGoogleMap</title>
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=ABQIAAAAPDUET0Qt7p2VcSk6JNU1sBSM5jMcmVqUpI7aqV44cW1cEECiThQYkcZUPRJn9vy_TWxWvuLoOfSFBw" type="text/javascript"></script>
  </head>
  <body onUnload="GUnload()">

<div id="map" style="width: 550px; height: 450px"></div>
<script type="text/javascript">
var greenIcon = new GIcon(G_DEFAULT_ICON);
greenIcon.image = "http://localhost/pointer_image/markerRd.png";
var markerOptions1 = {icon:greenIcon};

    var redIcon = new GIcon(G_DEFAULT_ICON);
redIcon.image = "http://localhost/pointer_image/markerGr.png";
var markerOptions2 = {icon:redIcon};

var yIcon = new GIcon(G_DEFAULT_ICON);
yIcon.image = "http://localhost/pointer_image/markerBl.png";
var markerOptions3 = {icon:yIcon};

    //<![CDATA[
    if (GBrowserIsCompatible()) { 


      // A function to create the marker and set up the event window
      // Dont try to unroll this function. It has to be here for the function closure
      // Each instance of the function preserves the contends of a different instance
      // of the "marker" and "html" variables which will be needed later when the event triggers.    
      function createMarker(point,html,type) {    
        if(type=="b")
        {   
        var marker = new GMarker(point, markerOptions1);
        }   
        else if(type=="c")
        {
         var marker = new GMarker(point, markerOptions2);
        }   
        else
        {
         var marker = new GMarker(point, markerOptions3);
        }
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });     
        return marker;      
      }

      // Display the map, with some controls and set the initial location 
      var map = new GMap2(document.getElementById("map"));
      map.addControl(new GLargeMapControl());
      map.addControl(new GMapTypeControl());
      <?php
      while($fetch_record=mysql_fetch_array($select_det))
     {
     ?>
      map.setCenter(new GLatLng(<?php echo $fetch_record['lat'];?>,<?php echo $fetch_record['long'];?>),8);

      // Set up three markers with info windows 

      var point = new GLatLng(<?php echo $fetch_record['lat'];?>,<?php echo $fetch_record['long'];?>);
      var marker = createMarker(point,'<?php echo $fetch_record['desc'];?>','<?php echo $fetch_record['type'];?>')
      map.addOverlay(marker);

     <?php
     }
     ?>

    }

    // display a warning if the browser was not compatible
    else {
      alert("Sorry, the Google Maps API is not compatible with this browser");
    }

    // This Javascript is based on code provided by the
    // Community Church Javascript Team
    // http://www.bisphamchurch.org.uk/   
    // http://econym.org.uk/gmap/

    //]]>
    </script> 
</body>
</html>

这里你必须把你的标记图像放在一个名为“pointer_image”

的文件夹中

您可以通过整理代码来更改标记图像

编辑这部分代码: -

<script type="text/javascript">
var greenIcon = new GIcon(G_DEFAULT_ICON);
greenIcon.image = "http://localhost/pointer_image/markerRd.png";
var markerOptions1 = {icon:greenIcon};

    var redIcon = new GIcon(G_DEFAULT_ICON);
redIcon.image = "http://localhost/pointer_image/markerGr.png";
var markerOptions2 = {icon:redIcon};

var yIcon = new GIcon(G_DEFAULT_ICON);
yIcon.image = "http://localhost/pointer_image/markerBl.png";
var markerOptions3 = {icon:yIcon};

希望这对你有所帮助,我也提供了数据库,它也在下面------

-- phpMyAdmin SQL Dump
-- version 2.11.4
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Sep 19, 2011 at 12:48 PM
-- Server version: 5.0.51
-- PHP Version: 5.2.5

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Database: `map`
--

-- --------------------------------------------------------

--
-- Table structure for table `record`
--

CREATE TABLE IF NOT EXISTS `record` (
  `id` int(11) NOT NULL auto_increment,
  `lat` varchar(100) NOT NULL,
  `long` varchar(100) NOT NULL,
  `desc` varchar(200) NOT NULL,
  `type` varchar(5) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

--
-- Dumping data for table `record`
--

INSERT INTO `record` (`id`, `lat`, `long`, `desc`, `type`) VALUES
(1, '22.572646', '88.363895', 'kolkata', 'a'),
(2, '22.982022', '88.440027', 'kalyani', 'b'),
(3, '23.4', '88.5', 'krishnanagar', 'c');