Клуб API Карт

Балун не по геокардинатам а по пикселам

Пост в архиве.

Есть код для ПОЛЬЗОВАТЕЛЬСКОЙ карты( кстати нет не одного примера для пользовательских карт) . Но как туда воткнуть хоть какойто обьект геолокации?? или это не возможно, так как для балунов нужны координаты . ВОТ

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

    <title>Пользователькая карта.</title>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

    <style type="text/css">

        html, body, #map {

            padding: 0;

            margin: 0;

            width: 100%;

            height: 100%;

        }

    </style>

    <script type="text/javascript" src="http://api-maps.yandex.ru/2.1/?lang=ru-RU"></script>

    <script type="text/javascript">

        ymaps.ready(function () {

            var layerName = "user#layer";

            var zoomRange = [2, 7];

            var Layer = function () {

                var layer = new ymaps.Layer("./%z/%x-%y.png");

                layer.getZoomRange = function () {

                    return ymaps.vow.resolve(zoomRange);

                };

                return layer;

            };

            ymaps.layer.storage.add(layerName, Layer);

            var mapType = new ymaps.MapType(layerName, [layerName]);

            ymaps.mapType.storage.add(layerName, mapType);

            var map = new ymaps.Map("map", {

                center: [0, 0],

                zoom: 2,

                type: layerName,

                controls: ["zoomControl"]

            }, {

                projection: new ymaps.projection.Cartesian([[-1, -1], [1, 1]], [false, false])

            },

         myMap.balloon.open([51.85, 38.37], "Содержимое балуна", {

        // Опция: не показываем кнопку закрытия.

        closeButton: false

    });

 

        });

    </script>

</head>

<body>

    <div id="map"></div>

</body>

</html>

3 комментария
Всеволод Шмыров
27 января 2016, 22:55
Доброе утро.
При задании карты вы задаете проекцию Cartesian
https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/projection.Cartesian-docpage/
В конструктор проекции вы задаете координатную область. От -1 до 1 по x и по y. В этой координатной области и нужно задавать координаты.
К примеру,
myMap.balloon.open([-0.1, 1]

Геокоординаты естественно совсем не используются.

Проект с пользовательской картой
https://github.com/vsesh/game-map-mc
(part5)

За папку с примером больое спасибо!! Но про координаты балуна не так просто)) кординаты если даже писать 0,0 не появляется все равно балун. Буду капать пример.

Всеволод Шмыров
27 января 2016, 22:55
Ну это очень странно. Можете дать ссылку на пример на jsfiddle или на какой-нибудь другой похожий проект?