Клуб API Карт

Метки и валуны на собственной карте

Пост в архиве.
сергей евглевский
17 июля 2013, 17:42

Я добавил собственную карту. Но скрипт для меток и валунов на ней не работает,либо я не правильно это делаю. Подскажите как мне реализовать метки.

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
    <title> Karta Taktik</title>
    <script src="http://api-maps.yandex.ru/1.1/index.xml?key=AGTmcVABAAAAN4mmQAMAJJ9Mcrh_tTYN-abfNDg7KRKPO6sAAAAAAAAAAAB8ueonBvWmyEkoLOS01gR6Q2rjig==" type="text/javascript"></script>
    <script type="text/javascript">
        window.onload = function () {
            var options = {
                    tileUrlTemplate: "./%z/tile-%x-%y.jpg",
                    controls: {
                        typeControl: false,
                        miniMap: true,
                        toolBar: true,
                        scaleLine: true
                    },
                    scrollZoomEnabled: false,
                    mapCenter: new YMaps.GeoPoint(-125.6, 79.0),
                    backgroundMapType: YMaps.MapType.NONE,
                    mapZoom: 4,
                    isTransparent: true,
                    smoothZooming: false,
                    layerKey: "my#layer",
                    mapType: {
                        name: "Taktik",
                        textColor: "#000000"
                    },
                    copyright: ""
                },
                map = new YMaps.Map(document.getElementById("YMapsID")),
                myData = new YMaps.TileDataSource(options.tileUrlTemplate, options.isTransparent, options.smoothZooming);

            myData.getTileUrl = function (tile, zoom) {
                return this.getTileUrlTemplate().replace(/%x/i, tile.x).replace(/%y/i, tile.y).replace(/%z/i, zoom);
            }

            var MyLayer = function () {
                return new YMaps.Layer(myData);
            }
            YMaps.Layers.add(options.layerKey, MyLayer);

            var mapLayers = options.backgroundMapType ? options.backgroundMapType.getLayers() : [],
                myMapType = new YMaps.MapType(YMaps.jQuery.merge(mapLayers, [ options.layerKey ]), options.mapType.name, { textColor: options.mapType.textColor });

            map.setCenter(options.mapCenter, options.mapZoom, myMapType);
            if (options.copyright) {
                map.addCopyright(options.copyright);
            }

            if (options.controls.typeControl) {
                map.addControl(new YMaps.TypeControl([ myMapType, YMaps.MapType.MAP, YMaps.MapType.SATELLITE, YMaps.MapType.HYBRID ], [1, 2, 3]));
            }
       
            if (options.controls.toolBar) {
                map.addControl(new YMaps.ToolBar());
            }
            if (options.controls.scaleLine) {
                map.addControl(new YMaps.ScaleLine());
           
            }
            if (options.scrollZoomEnabled) {
                map.enableScrollZoom();
            }
            map.addControl(new YMaps.Zoom());
        
        }
{var point = new YMaps.GeoPoint(-125.6, 79.0);
var placemark = new YMaps.Placemark(point);
map.addOverlay(placemark);
}


    </script>
</head>
<body>
    <div id="YMapsID" style="width:1200px;height:800px"></div>
</body>
</html>

 

6 комментариев

Вы этот код где-то взяли или сами написали?

Дело в том, что он подразумевает наличие на вашем сервере специально подготовленных изображений карты (тайлов)

Они у Вас есть?

Лучше дать ссылку на страницу с этим кодом.

сергей евглевский
17 июля 2013, 18:01

Тайлы у меня есть и карта работает. Проблема в метках.

 }
{var point = new YMaps.GeoPoint(-125.6, 79.0);
var placemark = new YMaps.Placemark(point);
map.addOverlay(placemark);
}

Этот код не работает в скрипте. Как реализовать ?


 Карта здесь 

Вы зачем-то обернули его в фигурные скобки

и вынесли из обработчика onload

из-за этого у Вас ошибка javascript на странице

сергей евглевский
17 июля 2013, 18:26

А как правильно сделать ?  Помогите написать правильно

сергей евглевский
17 июля 2013, 18:48

Ура !!!  Заработало !!! >:-) . Большое спасибо за помощь. Теперь попробую разобраться как подписывать метку !