amCharts: открыть URL при нажатии на маркер карты - PullRequest
0 голосов
/ 03 января 2019

Я использую демо amCharts "Карта столиц" ( jsfiddle здесь ) в качестве отправной точки для проекта. Я хотел бы иметь возможность щелкнуть или коснуться маркера для ввода заглавной буквы и открыть URL-адрес.

В некоторых ситуациях кажется, что эта функция работает из коробки, добавляя параметр URL, например:

{
    "title": "Washington, D.C.",
    "latitude": 38.8921,
    "longitude": -77.0241,
    "url": "https://en.wikipedia.org/wiki/Washington,_D.C."
}

Я надеюсь, что смогу нажать на Вашингтон, округ Колумбия, и открыть эту ссылку на Википедию, однако ничего не происходит. Я полагаю, это простой упущение - какие дополнительные изменения необходимо внести в эту демонстрацию, чтобы заставить работать ссылку / URL?

1 Ответ

0 голосов
/ 03 января 2019

Вы определенно на правильном пути.

Прямо сейчас вы предоставляете url в качестве поля данных, так же, как и для latitude и longitude. Итак, это всего лишь данные, диаграмма не делает никаких предположений относительно того, что с ней делать, кроме того, что становится доступной в качестве заполнителя для строк . Чтобы связать или применить url из ваших данных к MapImage url свойству , используйте привязку свойства . В оригинальной демонстрации вы увидите, что сделано для полей latitude и longitude:

imageSeriesTemplate.propertyFields.latitude = "latitude";
imageSeriesTemplate.propertyFields.longitude = "longitude";

Теперь мы просто должны сделать это для url:

imageSeriesTemplate.propertyFields.url = "url";

При этом любой MapImage с url в его данных станет кликабельной ссылкой, которая приведет вас к указанному url. По умолчанию он открывается в том же окне. Чтобы изменить цель ссылки, просто обновите ее urlTarget свойство , например ::

imageSeriesTemplate.urlTarget = "_blank";

Вот ответвление jsfiddle с вышеуказанными дополнениями:

http://jsfiddle.net/notacouch/szwfgk4n/3/

...