Яндекс карты 2.1
соорудил вот такой скрипт:
<script src="http://api-maps.yandex.ru/2.1/?load=package.full&lang=ru-RU" type="text/javascript"></script> <script type="text/javascript"> var myMap; ymaps.ready(init); function init () { ymaps.geocode('г.Тверь, ул. Ленина, 7', { results: 1 }).then(function (res) { var firstGeoObject = res.geoObjects.get(0), myMap = new ymaps.Map('map', { center: firstGeoObject.geometry.getCoordinates(), zoom: 17 }); var myPlacemark = new ymaps.Placemark(myMap.getCenter(), { balloonContentBody: [ '<address>', '<strong>объект</strong>', '</address>' ].join(' ') }, { preset: 'twirl#Icon' }); myMap.geoObjects.add(myPlacemark); }); } </script> <div id="map" style="width: 100%; height: 100%"></div> Карта получается по центру, мне нужно чтобы центральная найденная точка смещалась влево. Нашел документацию но собрать все это дело не могу: // Сдвинем карту на 10 пикселей влево var position = map.getGlobalPixelCenter(); map.setGlobalPixelCenter([ position[0] - 10, position[1] ]); http://api.yandex.ru/maps/doc/jsapi/...balPixelCenter В JS не силен потому и прошу помощи. |
у них ужаснейшая документация. в вашем случае объект карты это myMap. значит:
var position = myMap.getGlobalPixelCenter(); myMap.setGlobalPixelCenter([ position[0] - 10, position[1] ]); |
Цитата:
Согласен, к сожалению это не то тут смещает только карту метка так и остается в центре |
firstGeoObject.geometry.getCoordinates() - попробуйте из этого объекта получить координаты, изменить их как вам надо и подставить потом их обратно.
либо измените координаты точки вот в этой строке: var myPlacemark = new ymaps.Placemark(myMap.getCenter(), { тут уже знаете как. |
Цитата:
В JS не силен потому и прошу помощи. |
<script src="http://api-maps.yandex.ru/2.1/?load=package.full&lang=ru-RU" type="text/javascript"></script> <script type="text/javascript"> var myMap; ymaps.ready(init); function init () { ymaps.geocode('г.Тверь, ул. Ленина, 7', { results: 1 }).then(function (res) { var firstGeoObject = res.geoObjects.get(0), myMap = new ymaps.Map('map', { center: firstGeoObject.geometry.getCoordinates(), zoom: 17 }); var position = myMap.getCenter(); myMap.setCenter([ position[0], position[1]-0.006 ]); var myPlacemark = new ymaps.Placemark([ position[0], position[1]-0.006 ], { balloonContentBody: [ '<address>', '<strong>объект</strong>', '</address>' ].join(' ') }, { preset: 'twirl#Icon' }); myMap.geoObjects.add(myPlacemark); }); } </script> <div id="map" style="width: 100%; height: 100%"></div> у меня вот так получилось. |
там в координатах gps точки двигаются, а не в пикселях. в пикселях у меня не получилось. возможно спец по яндекс картам скажет как правильно в пикселях. ибо у них в документации полная ахинея написана.
|
Цитата:
То что ты сделал я понял как работает, но это мне не нужно, карта и точка ездят но вот только отображение все равно по центру. |
скинь картинку чтоли что ты хочешь в итоге получить.
|
Сейчас так:
http://i023.radikal.ru/1405/58/f880becb0ba6.png Нужно так: http://i055.radikal.ru/1405/be/ffc4937b619e.png Сместить точку и карту влево. |
Часовой пояс GMT +3, время: 22:28. |