D3.js чтение Lat Длинные координаты ccv в Google Map

Вопрос:

Я пытаюсь получить точки на карте Google, используя D3 и файл csv. я, кажется, умею правильно читать длинные координаты lat, но они не будут нигде на карте.

var map = new google.maps.Map(d3.select("#map").node(),
{
zoom: 11,
center: new google.maps.LatLng(39.654835520000063, -105.01942651999994),
mapTypeId: google.maps.MapTypeId.TERRAIN
});

d3.csv("data.csv", function(error, data)
{
var overlay = new google.maps.OverlayView();
overlay.draw = function() {
d3.select("circle")
.data(data)
.enter()
.append("circle")
.attr("cy", function(d)
{
return [d.longitude, d.latitude][0];
})
.attr("cx", function(d)
{
return [d.longitude, d.latitude][1];
})
.attr("r", 5)
.style("fill", "blue");
}
overlay.setMap(map);
});

Ответ №1

Вам нужно установить функцию overlay.onAdd. onAdd() вызывается один раз после вызова overlay.setMap() с действительной картой. Если вы не укажете ничего, что должно быть реализовано в onAdd() (по умолчанию это пустая функция), ничего не произойдет. Поэтому вы должны использовать onAdd для инициализации элементов наложения DOM.

Например, приведенный выше код использует следующую реализацию: overlay.onAdd = function() { var layer = d3.select(this.getPanes().overlayLayer).append("div").attr("class", "stations");//more code here } overlay.onAdd = function() { var layer = d3.select(this.getPanes().overlayLayer).append("div").attr("class", "stations");//more code here }

переменная слоя – это то, что вы хотите посмотреть.

Оцените статью
TechArks.Ru
Добавить комментарий