请问谁实现过V3版本的自定义标记 ,就是带文字显示的Marker
网上有的是V2版本的 ,通过覆写GMarker类实现
求v3版的·

解决方案 »

  1.   

    同行,给你这个,第三版的,http://code.google.com/intl/zh-CN/apis/maps/documentation/javascript/reference.html#Marker
      

  2.   


    var er = new google.maps.Marker({
    position: new google.maps.LatLng(rs['lat'],rs['lng']), 
    map: map,
    title:rs['name'],
    icon://这就是图标
    });
      

  3.   

    PHP打印楼盘地图:<script type="text/javascript">
    $(document).ready(function(){
    inigooglemap();
    }); 
    function inigooglemap() {
    var lat=<?= $lat ?>;            
    var lng=<?= $lng ?>;
    var icobase='http://gmaps-samples.googlecode.com/svn/trunk/ers/';
    var map = M.construction(lat,lng,"map_canvas");
    var infowindow = new google.maps.InfoWindow({maxWidth:480});
    var res=<?=json_encode($result)?>;
    var rs;
    var icon;
    for(key in res){
    rs=res[key];
    icon=(rs['type'] =='2')?'orange/':'red/';
    var er = new google.maps.Marker({
    position: new google.maps.LatLng(rs['lat'],rs['lng']), 
    map: map,
    title:rs['name'],
    icon:icobase+''+icon+'er'+rs['id']+'.png'
    });
    (function(key,rs,er){
    google.maps.event.addListener(er, 'click', function() {
    var tuType=(rs['type']=='2')?"住宅用地":"商业用地";

    var hConn=M.printInfoWindow({
        "title":rs['name'],
        "type":tuType,
        "tel":rs['tel'],
        "price":rs['qijia'],
        "address":rs['address'],
        "cover":'/images/'+rs['image']+'/120x90.jpg',
        "dev":rs['fname'],
        "link":'/loupan/t'+rs['id']+'/'
    });
    infowindow.setContent(hConn);
    infowindow.open(map, er);
    });     
    })(key, rs,er);
    }
    };  
    </script>
      

  4.   


    晕 第三版API我知道 具体代码嘛·
      

  5.   


    我用的是JSP  PHP看的有点晕
    有网址看下效果吗 我想实现的是在图标的上方直接有文字,不是title:xxx 要点击那种
    你是那种方式实现?覆写er类?
      

  6.   

    3楼 我怎么没看到覆写的代码 是icon里包含文字?
      

  7.   


    //自定义叠加层
    function NameOverlay(point,name,map) {
    this.point_ = point;
    this.name_ = name;
    this.map_ = map;
    this.div = null;
    this.setMap(map);

    }NameOverlay.prototype = new google.maps.OverlayView();NameOverlay.prototype.onAdd = function () {
     
        // 创建一个div,其中包含了当前文字
    var div = document.createElement("div");
    var span = document.createElement("span");
    var text = document.createTextNode(this.name_);
    span.appendChild(text);
    div.appendChild(span);
    div.style.borderStyle = "none";
    div.style.borderWidth = "0px";
    div.style.position = "absolute";
    this.div = div;
    var me = this;
    var panes = this.getPanes();
    panes.overlayImage.appendChild(div);
    }NameOverlay.prototype.draw = function () {

     
        //var overlayProjection = this.getProjection();
    //var center = overlayProjection.fromLatLngToDivPixel(this.point_);
        var overlayProjection = this.getProjection();
    var center = overlayProjection.fromLatLngToDivPixel(this.point_);
    var div = this.div;
    div.style.left = center.x+"px";
    div.style.top = center.y+"px";
    div.style.width = "100px";
    div.style.height = "8px";
    }
    NameOverlay.prototype.onRemove = function () {
    this.div.parentNode.removeChild(this.div);
    this.div = null;
    }var er1LatLng = new google.maps.LatLng(39.927, 116.387);
    var er1 = new google.maps.Marke({position:er1LatLng,                         map:map,draggable:true, flat:true});//传入要绑定的er
    var name1View = new NameOverlay(er1LatLng, "文字", map);