Клуб API Карт

Подскажите пожалуйста !

duke.raul2011
3 апреля 2012, 22:53

я не очень хорошо разбираюсь в вопросе.

напишите пожалуйста

как должна выглядеть ссылка

для перехода к карте по заданным координатам

и установке в центр метки

чтоб не отображать весь список меток а только одну с указанным адресом

Если можно целеком.

Заранее спасибо огромное!

 

<script src="мой ключ&modules=pmap&modules=traffic&wizard=constructor" type="text/javascript"></script>
<script type="text/javascript"> 
window.onload = function () {
 var map = new YMaps.Map(document.getElementById("YMapsID")),
 flagLoad = 0;
 
 map.addControl(new YMaps.Zoom()
 map.addControl(new YMaps.ToolBar()
 map.addControl(new YMaps.TypeControl()
 
 map.enableScrollZoom(
 
 // Установка для карты ее центра и масштаба
 map.setCenter(new YMaps.GeoPoint(33.524396,44.615554), 12);
 
YMaps.Styles.add("constructor#pmlbmPlacemark", {
 iconStyle : {
 href : "http://api-maps.yandex.ru/i/0.3/placemarks/pmlbm.png",
 size : new YMaps.Point(28,29),
 offset: new YMaps.Point(-8,-27)
 }
 }

 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.525113,44.618022), "constructor#pmlbmPlacemark", "Севастополь.<br/>Лучше места не найдёшь! ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.524933,44.615186), "constructor#pmlbmPlacemark", "Севастопольская Государственная Городская Администрация")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.542613,44.609961), "constructor#pmlbmPlacemark", "Севастопольская Государственная Администрация в Нахимовском районе") 
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.451182,44.593934), "constructor#pmlbmPlacemark", "Севастопольская Городская Администрация в Гагаринском районе")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.598806,44.512333), "constructor#pmlbmPlacemark", "Севастопольская Городская Администрация в Балаклавском районе")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.461849,44.577781), "constructor#pmlbmPlacemark", "АТБ-Маркет")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.527953,44.5636), "constructor#pmlbmPlacemark", "АТБ-Маркет")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.52372,44.569256), "constructor#pmlbmPlacemark", "АТБ-Маркет")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.445026,44.585473), "constructor#pmlbmPlacemark", "АТБ-Маркет")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.519773,44.579395), "constructor#pmlbmPlacemark", "КЛИНИКА доктора МАЛЬКОВОЙ ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.510135,44.582587), "constructor#pmlbmPlacemark", "Теплый Дом ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.509556,44.582158), "constructor#pmlbmPlacemark", "Мир Моек ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.509603,44.582184), "constructor#pmlbmPlacemark", "МЕБЕЛЬ Вишня ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.509571,44.582154), "constructor#pmlbmPlacemark", "Мебельный салон Константа ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.508606,44.581648), "constructor#pmlbmPlacemark", "Комфорт вашего дома ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.507436,44.581042), "constructor#pmlbmPlacemark", "MebeLiK ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.512082,44.584281), "constructor#pmlbmPlacemark", "Твой дом ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.51797,44.582025), "constructor#pmlbmPlacemark", "Stock Талисман ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.507157,44.580861), "constructor#pmlbmPlacemark", "Hand made ")
 map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(33.509091,44.573326), "constructor#pmlbmPlacemark", "Столярная мастерская братьев Поповых ")

 function createObject (type, point, style, description) {
 var allowObjects = ["Placemark", "Polyline", "Polygon"],
 index = YMaps.jQuery.inArray( type, allowObjects),
 constructor = allowObjects[(index == -1) ? 0 : index];
 description = description || "";
 
 var object = new YMaps[constructor](point, {style: style, hasBalloon : !!description}
 object.description = description;
 
 return object;
 }


 
 
 
 // Добавляем метку в центр карты
 var placemark = new YMaps.Placemark(map.getCenter(), {draggable: 1, hasBalloon: 0}
 
 // Динамически формируем урл
 YMaps.Events.observe(map, [map.Events.Update, map.Events.MoveEnd, map.Events.ChangeType], setUrlParams);
 YMaps.Events.observe(placemark, placemark.Events.PositionChange, setUrlParams);
 
 // Функция для формирования параметров в URL'е
 function setUrlParams(obj) {
 // Включаем установку параметров после загрузки всего скрипта
 if (!flagLoad) {
 return;
 }
 document.location.hash = '#ll=' + map.getCenter().toString() + 
 '&z=' + map.getZoom() + 
 '&mt=' + map.getType().getLayers().toString() ;
 }
 
 var hash = document.location.hash;
 if (hash) { // Если строка параметров определена
 var hash = hash.substr(1, hash.length - 1).split('&'), // Отрезаем первый символ "#" и 
 // разбиваем строку на подстроки параметр=значение
 params = {}; // Объект будущих параметров
 
 for (var i = 0, l = hash.length, param; i < l; i++) {
 param = hash[i].split('='); // Разбиваем параметр на имя и значение
 if (param[0] && param[1]) {
 params[param[0]] = param[1];
 }
 }
 
 // Если в урле заданы необходимые параметры
 if (params.ll && params.z && params.mt && params.p) {
 // Определяем тип карты
 var mapType = YMaps.MapType.MAP;
 switch (params.mt) {
 
 case 'map':
 mapType = YMaps.MapType.MAP;
 break;
 
 case 'sat':
 mapType = YMaps.MapType.SATELLITE;
 break;
 
 case 'hyb':
 mapType = YMaps.MapType.HYBRID;
 break;
 }
 // Центрируем карту в нужном месте
 map.setCenter(YMaps.GeoPoint.fromString(params.ll), params.z, mapType);
 
 
 }
 }
 
 // Скрипт загружен, все параметры из URL'a применены
 flagLoad = 1;
 
}

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

 

1 комментарий
Подписаться на комментарии к посту

ссылка может выглядеть как угодно,

например так /?point=_lon_,_lat_

но чтобы это работало, надо это запрограммировать.