Всем привет. Пришло время перехода на свежую и быструю версию карты. Есть некоторые трудности с реализацией. На скриншоте показано чего нужно достичь, т.е. нынешний вид карты, так и нужно сделать. Ниже приложу код старой версии. После него приложу, что я смог реализовать в новой, но в ней не совсем верно сделал, т.к. координаты ввел жестко, а нужно определять только по адресу.
Нынешний вид карты и как должна быть по финалу на новом скрипте:
Старый код:
initialize();
var map, geoResult;
function initialize(){
map = new YMaps.Map(document.getElementById("map_content"));
var point = new YMaps.GeoPoint(30.53, 50.40);
map.setCenter(point, 10);
map.setType(YMaps.MapType.MAP);
map.addControl(new YMaps.TypeControl());
map.addControl(new YMaps.ToolBar());
map.addControl(new YMaps.Zoom());
map.addControl(new YMaps.MiniMap());
map.addControl(new YMaps.ScaleLine());
var geocoder = new YMaps.Geocoder("Москва");
map.addOverlay(geocoder);
var params = $('#box_info_company_left > div > span').html().split(',');
var where = params[0]+','+params[1]+','+params[2];
var address = params[3];
showAddress(where+','+address);
}
function showAddress(value){
map.removeOverlay(geoResult);
var geocoder = new YMaps.Geocoder(value, {results: 1, boundedBy: map.getBounds()});
YMaps.Events.observe(geocoder, geocoder.Events.Load, function (){
if (this.length()){
geoResult = this.get(0);
map.addOverlay(geoResult);
map.setBounds(geoResult.getBounds());
}else{
alert("Ничего не найдено");
}
});
YMaps.Events.observe(geocoder, geocoder.Events.Fault, function (geocoder, error){
alert("Произошла ошибка: " +error);
});
}
function init() {
var myMap = new ymaps.Map('map', {
center: [47.893863,33.40521],
zoom: 17,
behaviors: ['default', 'scrollZoom']
});
var objects = ymaps.geoQuery("Украина, обл. Днепропетровская, г. Кривой Рог, Ветеранов Труда 261").addToMap(myMap);
objects.then(function () {
objects.get(0).balloon.open();
});
}
ymaps.ready(init);
Помогите написать корректный код под новую версию. Благодарю.