javascript – GoogleMaps:设计自定义价格标记

前端之家收集整理的这篇文章主要介绍了javascript – GoogleMaps:设计自定义价格标记前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在开发一个使用离子的移动应用程序,并要求在谷歌地图中显示带有价格标记的地方,如下所示:

enter image description here

我写了一个非常基本的代码来集成谷歌地图和标记.

MapController

controller('MapController',function($scope,uiGmapGoogleMapApi,$log,$timeout,$state) {

    $scope.map = { center: { latitude: 12.9250,longitude: 77.5938 },zoom: 8,window: { show: false } };
    $scope.options = { scrollwheel: false };

    $scope.markerEvents = {
        events: {
            dragend: function(marker,eventName,args) {
                var lat = marker.getPosition().lat();
                var lon = marker.getPosition().lng();
                $log.log(lat);
                $log.log(lon);

                $scope.marker.options = {
                    draggable: true,labelContent: "lat: " + $scope.marker.coords.latitude + ' ' + 'lon: ' + $scope.marker.coords.longitude,labelAnchor: "100 0",labelClass: "marker-labels"
                };
            }
        }
    };

    $scope.markers = [{

        id: 0,coords: {
            latitude: 12.8421,longitude: 77.6631
        },options: { draggable: false,icon: '',labelClass: 'marker_labels',labelAnchor: '12 60',labelContent: '$400' }

    },{
        id: 1,coords: {
            latitude: 12.1481,longitude: 77.5631
        },labelContent: '$600' }

    },{
        id: 2,coords: {
            latitude: 12.3411,longitude: 77.4631
        },labelContent: '$550' }

    },{
        id: 3,coords: {
            latitude: 12.5420,longitude: 77.3631
        },labelContent: '$900' }
    }];

HTML

目前,我正在获取我想要隐藏的默认标记图标,而只是显示价格.

我一直在寻找有关正确实现自定义标记的正确方法的明确信息,但我得到的结果并不让我满意.

那么我该怎么做呢?

最佳答案
通过扩展google.maps.OverlayView类,您可以使用css / html创建和自定义任何标记.您可以为扩展此类的自定义标记创建自己的指令,例如this教程可能对您有所帮助.

另一种选择是对angularjs谷歌地图使用不同的库,例如ng-map,它已经包含对自定义标记支持.

猜你在找的JavaScript相关文章