Как да приложа текст към полилинии на Google Maps?

Извинявам се, че това е повтарящ се въпрос. Следвах отговори, но работих както искам. Имам класа Label, но не е това, което искам.

Имам карта с персонализирана мрежа, начертана върху нея. благодарение на @geocodezip

var map;

var qtrArray = [];
var linesArray = [];
var Startlatlng;
var llOffset = 0.0666666666666667;

var drawGridBox = false;
var gridline;
var polylinesquare;
var latPolylines = [];
var lngPolylines = [];
var bounds = new google.maps.LatLngBounds();

function initialize() {
    map = new google.maps.Map(document.getElementById('map-canvas'), {
        center: new google.maps.LatLng(34.00, -84.00),
        zoom: 10,
        streetViewControl: true,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        scaleControl: true
    });

    google.maps.event.addListener(map, 'click', function (event) {
    createGridBox(event.latLng);
    });
    DrawGridOn();
    google.maps.event.addListener(map, 'idle', function () {
        createGridLines(map.getBounds());
    }); 
}
google.maps.event.addDomListener(window, 'load', initialize);

function DrawGridOn() {
    drawGridBox = true;
}

function DrawGridOff() {
    drawGridBox = false;
}


function ClearLastGrid() {
    polyline.setMap(null);
}

function createGridLines(bounds) {
    for (var i = 0; i < latPolylines.length; i++) {
        latPolylines[i].setMap(null);
    }
    latPolylines = [];
    for (var i = 0; i < lngPolylines.length; i++) {
        lngPolylines[i].setMap(null);
    }
    lngPolylines = [];
    if (map.getZoom() <= 6) return;
    var north = bounds.getNorthEast().lat();
    var east = bounds.getNorthEast().lng();
    var south = bounds.getSouthWest().lat();
    var west = bounds.getSouthWest().lng();

    // define the size of the grid
    var topLat = Math.ceil(north / llOffset) * llOffset;
    var rightLong = Math.ceil(east / llOffset) * llOffset;

    var bottomLat = Math.floor(south / llOffset) * llOffset;
    var leftLong = Math.floor(west / llOffset) * llOffset;

    for (var latitude = bottomLat; latitude <= topLat; latitude += llOffset) {
        // lines of latitude
        latPolylines.push(new google.maps.Polyline({
            path: [
            new google.maps.LatLng(latitude, leftLong),
            new google.maps.LatLng(latitude, rightLong)],
            map: map,
            geodesic: true,
            strokeColor: '#0000FF',
            strokeOpacity: 0.5,
            strokeWeight: 1
        }));
    }
    for (var longitude = leftLong; longitude <= rightLong; longitude += llOffset) {
        // lines of longitude
        lngPolylines.push(new google.maps.Polyline({
            path: [
            new google.maps.LatLng(topLat, longitude),
            new google.maps.LatLng(bottomLat, longitude)],
            map: map,
            geodesic: true,
            strokeColor: '#0000FF',
            strokeOpacity: 0.5,
            strokeWeight: 1
        }));
    }
}

function createGridBox(point) {
    // Square limits
    var bottomLeftLat = Math.floor(point.lat() / llOffset) * llOffset;
    var bottomLeftLong = Math.floor(point.lng() / llOffset) * llOffset;

    var i;

    var gridLineSquare = [
    new google.maps.LatLng(bottomLeftLat, bottomLeftLong), //lwr left
    new google.maps.LatLng(bottomLeftLat, bottomLeftLong + llOffset), //lwr right
    new google.maps.LatLng(bottomLeftLat + llOffset, bottomLeftLong + llOffset), //upr right
    new google.maps.LatLng(bottomLeftLat + llOffset, bottomLeftLong),
    new google.maps.LatLng(bottomLeftLat, bottomLeftLong)];


    for (i = 0; i < gridLineSquare.length; i++) {
        bounds.extend(gridLineSquare[i]);
    }

    // external.getData(event.latLng);
    if (drawGridBox == true) {
        polyline = new google.maps.Polyline({
            path: gridLineSquare,
            geodesic: true,
            strokeColor: '#FF0000',
            strokeOpacity: 1.0,
            strokeWeight: 2
        });

        polyline.setMap(map);
        qtrArray.push(polyline);
    }
}

Всичко, което наистина искам да направя, е да маркирам хоризонталните линии с географската ширина (от лявата страна на картата) и да етикетирам вертикалните линии с географската дължина. Знам как да покажа тази информация чрез събитието OnClick в InfoWindow, но това е странно. Видях няколко претенции от персонализирани класове, но нито едно не успя. Тъй като всички примери са най-малко на две години, се надявах да се появи нещо ново.


person Meta Mussel    schedule 24.07.2015    source източник
comment
Защо просто не използвате Информационно поле като етикет на карта   -  person geocodezip    schedule 25.07.2015
comment
Възможен дубликат на Показване на стойност до реда в Google Maps   -  person geocodezip    schedule 25.07.2015
comment
Освен че може да се отвори само едно информационно поле в даден момент, искам линиите да бъдат обозначени като път.,   -  person Meta Mussel    schedule 25.07.2015
comment
Откъде намирате, че само едно InfoBox може да бъде отворено в даден момент (това дори не е вярно за InfoWindows във v3)?   -  person geocodezip    schedule 25.07.2015
comment
Предполагам, че беше лошо предположение. Но досега ми дадохте добри насоки. Моята мрежа трябва да ви изглежда позната. ;) Има ли начин да обознача моите вертикални и хоризонтални линии със съответните географски дължини и ширини по време на изчертаване на картата?   -  person Meta Mussel    schedule 25.07.2015


Отговори (1)


По-добрите, които намерих, са тези, но не скорошни

http://google-maps-utility-library-v3.googlecode.com/svn/trunk/maplabel/src/

Изображение въведете описание на изображението тук

изображението идва от този извадка

person scaisEdge    schedule 24.07.2015
comment
ще го погледна. Благодаря - person Meta Mussel; 25.07.2015
comment
Благодаря за това, но не мисля, че е това. Гледайки картата си, помислете за етикети като тези по улици, пътища и реки. - person Meta Mussel; 25.07.2015