Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.05.2014, 11:53
Интересующийся
Отправить личное сообщение для pepper Посмотреть профиль Найти все сообщения от pepper
 
Регистрация: 09.05.2014
Сообщений: 12

Яндекс карты 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 не силен потому и прошу помощи.
Ответить с цитированием
  #2 (permalink)  
Старый 09.05.2014, 20:41
Профессор
Отправить личное сообщение для depp Посмотреть профиль Найти все сообщения от depp
 
Регистрация: 22.04.2014
Сообщений: 151

у них ужаснейшая документация. в вашем случае объект карты это myMap. значит:
var position = myMap.getGlobalPixelCenter();
myMap.setGlobalPixelCenter([ position[0] - 10, position[1] ]);
Ответить с цитированием
  #3 (permalink)  
Старый 09.05.2014, 23:09
Интересующийся
Отправить личное сообщение для pepper Посмотреть профиль Найти все сообщения от pepper
 
Регистрация: 09.05.2014
Сообщений: 12

Сообщение от depp Посмотреть сообщение
у них ужаснейшая документация. в вашем случае объект карты это myMap. значит:
var position = myMap.getGlobalPixelCenter();
myMap.setGlobalPixelCenter([ position[0] - 10, position[1] ]);
Работает. Но!
Согласен, к сожалению это не то тут смещает только карту метка так и остается в центре
Ответить с цитированием
  #4 (permalink)  
Старый 10.05.2014, 01:03
Профессор
Отправить личное сообщение для depp Посмотреть профиль Найти все сообщения от depp
 
Регистрация: 22.04.2014
Сообщений: 151

firstGeoObject.geometry.getCoordinates() - попробуйте из этого объекта получить координаты, изменить их как вам надо и подставить потом их обратно.
либо измените координаты точки вот в этой строке:
var myPlacemark = new ymaps.Placemark(myMap.getCenter(), {
тут уже знаете как.
Ответить с цитированием
  #5 (permalink)  
Старый 10.05.2014, 10:05
Интересующийся
Отправить личное сообщение для pepper Посмотреть профиль Найти все сообщения от pepper
 
Регистрация: 09.05.2014
Сообщений: 12

Сообщение от depp Посмотреть сообщение
firstGeoObject.geometry.getCoordinates() - попробуйте из этого объекта получить координаты, изменить их как вам надо и подставить потом их обратно.
либо измените координаты точки вот в этой строке:
var myPlacemark = new ymaps.Placemark(myMap.getCenter(), {
тут уже знаете как.
Нужно чтоб и точка и карта были смещены на 200px.
В JS не силен потому и прошу помощи.
Ответить с цитированием
  #6 (permalink)  
Старый 10.05.2014, 11:39
Профессор
Отправить личное сообщение для depp Посмотреть профиль Найти все сообщения от depp
 
Регистрация: 22.04.2014
Сообщений: 151

<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>

у меня вот так получилось.
Ответить с цитированием
  #7 (permalink)  
Старый 10.05.2014, 11:40
Профессор
Отправить личное сообщение для depp Посмотреть профиль Найти все сообщения от depp
 
Регистрация: 22.04.2014
Сообщений: 151

там в координатах gps точки двигаются, а не в пикселях. в пикселях у меня не получилось. возможно спец по яндекс картам скажет как правильно в пикселях. ибо у них в документации полная ахинея написана.
Ответить с цитированием
  #8 (permalink)  
Старый 10.05.2014, 18:28
Интересующийся
Отправить личное сообщение для pepper Посмотреть профиль Найти все сообщения от pepper
 
Регистрация: 09.05.2014
Сообщений: 12

Сообщение от depp Посмотреть сообщение
там в координатах gps точки двигаются, а не в пикселях. в пикселях у меня не получилось. возможно спец по яндекс картам скажет как правильно в пикселях. ибо у них в документации полная ахинея написана.
Мне впринципе неважно в пикселях или как еще.

То что ты сделал я понял как работает, но это мне не нужно, карта и точка ездят но вот только отображение все равно по центру.
Ответить с цитированием
  #9 (permalink)  
Старый 11.05.2014, 04:22
Профессор
Отправить личное сообщение для depp Посмотреть профиль Найти все сообщения от depp
 
Регистрация: 22.04.2014
Сообщений: 151

скинь картинку чтоли что ты хочешь в итоге получить.
Ответить с цитированием
  #10 (permalink)  
Старый 11.05.2014, 17:16
Интересующийся
Отправить личное сообщение для pepper Посмотреть профиль Найти все сообщения от pepper
 
Регистрация: 09.05.2014
Сообщений: 12

Сейчас так:
http://i023.radikal.ru/1405/58/f880becb0ba6.png

Нужно так:
http://i055.radikal.ru/1405/be/ffc4937b619e.png

Сместить точку и карту влево.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Яндекс карты. Обработка json ответа timugatu Javascript под браузер 6 13.12.2013 20:03
Удаление 25 летних cookies от Яндекс Почты glebbrain Общие вопросы Javascript 6 30.08.2013 17:35
Карты и jQuery Mobile Родзевич Олег jQuery 4 07.02.2013 16:01
Вывод значения в переменную PHP. Яндекс Карты API romaalupka Серверные языки и технологии 2 05.02.2013 21:58
Ошибка в Яндекс API - карты ansi_str Библиотеки/Тулкиты/Фреймворки 0 16.03.2012 05:18