更改Google地图' RichMarker游标

时间:2017-03-25 15:54:29

标签: javascript jquery css google-maps

说明

出于某种原因,当使用RichMarker(因此我可以使用Font Awesome' s字体)时,不允许更改光标。正如您在下面看到的,当悬停谷歌地图'标记,光标随着代码的变化而变化,但RichMarker没有任何反应。我做错了吗?

代码

您也可以在JSFiddle中看到它。



function initialize() {
    var myLatLng1 = new google.maps.LatLng(37.773293, -122.469468);
    var myLatLng2 = new google.maps.LatLng(37.774548, -122.467054);
    
    var mapOptions = {
        zoom: 15,
        center: myLatLng1
    };

    var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
    
    // First Marker
    var marker = new RichMarker({
        position: myLatLng1,
        map: map,
        flat:true,
        content: '<i class="fa fa-map-marker fa-4x"></i>',
        cursor: 'default'
    });
    
    // Second Marker
    var marker = new google.maps.Marker({
        position: myLatLng2,
        map: map,
        cursor: 'default'
    });
}

google.maps.event.addDomListener(window, "load", initialize);
&#13;
#map-canvas {
  width: 500px;
  height: 400px;
}
&#13;
<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css">
    </head>
    <body>
        <div id="map-canvas"></div>
        
        <script src="https://code.jquery.com/jquery-3.1.1.js"></script>
        <script src="https://maps.googleapis.com/maps/api/js"></script>
        <script src="https://rawgit.com/googlemaps/js-rich-marker/gh-pages/src/richmarker.js"></script>
    </body>
</html>
&#13;
&#13;
&#13;

提前致谢,
路易斯。

1 个答案:

答案 0 :(得分:0)

根据Hua Trung在上述评论中的建议,我需要更改richmarker.js

由于我不希望标记可拖动,我可以删除有关它的所有内容。

所以我:

  • 寻找Sets the cursor(第428行);
  • 删除了从第439行到第460行的所有内容;
  • var cursor = '';(第438行)更改为var cursor = 'pointer';(或您偏好的光标)。

现在如下(来自第427行)。

/**
 * Sets the cursor.
 *
 * @param {string} whichCursor What cursor to show.
 * @private
 */
RichMarker.prototype.setCursor_ = function(whichCursor) {
  if (!this.ready_) {
    return;
  }

  var cursor = 'pointer';

  if (this.markerWrapper_.style.cursor != cursor) {
    this.markerWrapper_.style.cursor = cursor;
  }
};