Как изменить цвет маркеров Gmap? - PullRequest
2 голосов
/ 15 ноября 2009

У меня есть пользовательская карта Google с разными точками:

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");

и т.д.

Просто я хочу изменить цвет маркеров по умолчанию на красный. И.Е. 2-й синий.

Как это сделать?

Ответы [ 3 ]

2 голосов
/ 14 марта 2010

Используйте метод setImage для маркера.

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

http://gmaps -samples.googlecode.com / SVN / багажник / whackamarker / whackamarker.htm

0 голосов
/ 19 сентября 2011

вот простой код, который позволяет многоцветный маркер для карты Google

<?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');
0 голосов
/ 15 ноября 2009

Вы можете поместить новый маркер с нужным цветом поверх оригинального маркера. Эта техника, с примером, объясняется здесь: http://esa.ilmari.googlepages.com/hellocolorswitch.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...