Попробуйте это:
- Создайте
Point
для вас долготу и широту
- Преобразовать точку в пространственную привязку Web Mercator, если это необходимо
- Создайте PictureMarkerSymbol для своего пользовательского маркера изображения
- Создайте
Graphic
, используя точку и символ
- Создать
GraphicsLayer
- Добавить графику к графическому слою
- Добавьте графический слой на карту
- Добавить пользовательский прослушиватель событий onClick на свой слой
Эквивалентный код:
var point = new esri.geometry.Point(longitude, latitude);
point = esri.geometry.geographicToWebMercator(point);
var symbol = new esri.symbol.PictureMarkerSymbol("marker.png", 32, 32);
var graphic = new esri.Graphic(point, symbol);
var layer = new esri.layers.GraphicsLayer();
layer.add(graphic);
map.addLayer(layer);
dojo.connect(layer, "onClick", onClick);
В прослушивателе событий вы можете открыть пользовательский infoWindow
или что угодно:
function onClick(event) {
map.infoWindow(...)
...
Измените "marker.png" и 32x32, чтобы использовать собственное изображение и размеры маркера.