17.08.2010, 20:26
|
Интересующийся
|
|
Регистрация: 06.08.2010
Сообщений: 12
|
|
Помогите разобраться!!!
Помогите пожалуйста!
<script src="http://api-maps.yandex.ru/1.1/index.xml?key=AFPxDEwBAAAAULUMHwIAVKW8xZQxVL0kFj4lHUsAoB2I_gMAAAAAAAAAAAAmdPI7vVsRLfKXb1_JHhJsSRZM4w==" type="text/javascript"></script>
<script type="text/javascript">// <![CDATA[
var xml_path = "http://interaktivecard.com/xml/bah/";
YMaps.jQuery( function () {
var options = {
tileUrlTemplate: "http://interaktivecard.com/images/maps/%z/tile-%x-%y.png",
controls: {
typeControl: true,
miniMap: true,
toolBar: true,
scaleLine: true
},
scrollZoomEnabled: false,
mapCenter: new YMaps.GeoPoint(33.8674398742517, 44.7531052865182),
backgroundMapType: YMaps.MapType.MAP,
mapZoom: 14,
isTransparent: true,
smoothZooming: false,
layerKey: "my#layer",
mapType: {
name: "Схема",
textColor: "#000000"
},
copyright: ""
},
map = new YMaps.Map(document.getElementById("YMapsID")),
myData = new YMaps.TileDataSource(options.tileUrlTemplate, options.isTransparent, options.smoothZooming);
myData.getTileUrl = function (tile, zoom) {
return this.getTileUrlTemplate().replace(/%x/i, tile.x).replace(/%y/i, tile.y).replace(/%z/i, zoom);
}
var MyLayer = function () {
return new YMaps.Layer(myData);
}
YMaps.Layers.add(options.layerKey, MyLayer);
var mapLayers = options.backgroundMapType ? options.backgroundMapType.getLayers() : [],
myMapType = new YMaps.MapType(YMaps.jQuery.merge(mapLayers, [ options.layerKey ]), options.mapType.name, { textColor: options.mapType.textColor });
map.setCenter(options.mapCenter, options.mapZoom, myMapType);
if (options.copyright) {
map.addCopyright(options.copyright);
}
// if (options.controls.typeControl) {
// map.addControl(new YMaps.TypeControl([ myMapType, YMaps.MapType.MAP, //YMaps.MapType.SATELLITE, YMaps.MapType.HYBRID ], [1, 2, 3]));}
if (options.controls.miniMap) {
map.addControl(new YMaps.MiniMap());
}
if (options.controls.toolBar) {
map.addControl(new YMaps.ToolBar());
}
if (options.scrollZoomEnabled) {
map.enableScrollZoom();
}
map.addControl(new YMaps.SmallZoom());
// Метки
// Посты ДПС
var dps = new YMaps.YMapsML(xml_path+"1-1.xml");
YMaps.Events.observe(dps, dps.Events.Fault, function (error) {
alert("Ошибка: " + error);
});
YMaps.jQuery("#show_dps").toggle(function(){
map.removeAllOverlays();
map.addOverlay(dps);
YMaps.jQuery(this);
}, function(){
YMaps.jQuery(this);
});
// Просто метки
YMaps.jQuery("#okButton").bind("click", function () {
map.removeAllOverlays(); // Удаляем все оверлеи с карты
// Загружаем YMapsML-файл по ссылкам вида http://interaktivecard.com/xml/bah/<Country>-<City>.xml
// Например, [url]http://interaktivecard.com/xml/bah/1-2.xml[/url]
map.addOverlay(
new YMaps.YMapsML(
"http://interaktivecard.com/xml/bah/" +
YMaps.jQuery("#Country :selected").val() + "-" +
YMaps.jQuery("#City :selected").val() + ".xml"
)
);
});
dynamicSelect("Country", "City");
})
// ]]></script>
<script type="text/javascript">// <![CDATA[
function dynamicSelect(id1, id2) {
// Сперва необходимо проверить поддержку W3C DOM в браузере
if (document.getElementById && document.getElementsByTagName) {
// Определение переменных, ссылающихся на списки
var sel1 = document.getElementById(id1);
var sel2 = document.getElementById(id2);
// Клонирование динамического списка
var clone = sel2.cloneNode(true);
// Определение переменных для клонированных элементов списка
var clonedOptions = clone.getElementsByTagName("option");
// Вызов функции собирающей вызываемый список
refreshDynamicSelectOptions(sel1, sel2, clonedOptions);
// При изменении выбранного элемента в первом списке: // вызов функции пересобирающей вызываемый список
sel1.onchange = function () {
refreshDynamicSelectOptions(sel1, sel2, clonedOptions);
}
}
}
// Функция для сборки динамического списка
function refreshDynamicSelectOptions(sel1, sel2, clonedOptions) {
// Удаление всех элементов динамического списка
while (sel2.options.length) {
sel2.remove(0);
}
var pattern1 = /( |^)(select)( |$)/;
var pattern2 = new RegExp("( |^)(" + sel1.options[sel1.selectedIndex].value + ")( |$)");
// Перебор клонированных элементов списка
for (var i = 0; i < clonedOptions.length; i++) {
// Если название класса клонированного option эквивалентно "select" // либо эквивалентно значению option первого списка
if (clonedOptions[i].className.match(pattern1) ||
clonedOptions[i].className.match(pattern2)) {
// его нужно клонировать в динамически создаваемый список
sel2.appendChild(clonedOptions[i].cloneNode(true));
}
}
}
// ]]></script>
</head>
<body>
<form>
<p><span style="font-size: large;"><strong><span style="color: #800000;">Бахчисарай </span></strong></span></p>
<p><span style="font-size: small;"><em><span style="color: #800000;"><strong><span style="color: #999999;"><br /></span></strong></span></em></span></p>
<p><select id="Country" name="Country">
<option value="select">Выберите раздел...</option>
<option value="gos">Тестовая категория</option>
<option value="chast">Частные предприятия</option>
<!-- <option value="org">Общественные организации</option> -->
</select>
<select id="City" name="City">
<option class="select" value="select">Выберите подраздел...</option>
<option class="gos" value="#">Посты ДПС</option>
<option class="gos" value="#">Просто метки</option>
<option class="gos" value="#">Жилищно-коммунальное хозяйство</option>
<option class="gos" value="#">Культура и искусство</option>
<option class="gos" value="#">Медицинские учреждения</option>
<option class="gos" value="#">Образование и учебные заведения</option>
<option class="gos" value="#">НИИ</option>
<option class="gos" value="#">Почта, телефон, телеграф</option>
<option class="gos" value="#">Религиозные организации</option>
<option class="gos" value="#">Землепользование</option>
<option class="chast" value="#">Автомобили, СТО</option>
<option class="chast" value="#">Агропромышленный комплекс</option>
<option class="chast" value="#">Безопасность - организации, оборудование</option>
<option class="chast" value="#">Организации ВЭД</option>
<option class="chast" value="#">Вторичные ресурсы</option>
<option class="chast" value="#">Исследование рынка</option>
<option class="chast" value="#">Компьютеры. Оргтехника</option>
<option class="chast" value="#">Легкая и текстильная промышленность</option>
<option class="chast" value="#">Лесная, деревообрабатывающая пром-ть</option>
<option class="chast" value="#">Мебель, интерьер</option>
<option class="chast" value="#">Медицинские товары и услуги</option>
<option class="chast" value="#">Металлы, металлообработка, машиностроение</option>
<option class="chast" value="#">Оборудование</option>
<option class="chast" value="#">Общественное питание</option>
<option class="chast" value="#">Продукты питания: производство, ОПТ, розница</option>
<option class="chast" value="#">Радиопромышленность</option>
<option class="chast" value="#">Рекламно-информационная деятельность</option>
<option class="chast" value="#">Розничные торговые организации</option>
<option class="chast" value="#">Связь</option>
<option class="chast" value="#">СМИ</option>
<option class="chast" value="#">Строительство и материалы</option>
<option class="chast" value="#">Судостроение, судоремонт</option>
<option class="chast" value="#">Товары для животных</option>
<option class="chast" value="#">Товары народного потребления</option>
<option class="chast" value="#">Торжественные мероприятия</option>
<option class="chast" value="#">Трудоустройство</option>
<option class="chast" value="#">Транспорт</option>
<option class="chast" value="#">Туризм, спорт, отдых</option>
<option class="chast" value="#">Услуги</option>
<option class="chast" value="#">Химическая продукция</option>
<!-- <option class="org" value="Minsk">Все остальное</option>
<option class="org" value="Bobruisk">...и так далее</option> -->
</select>
<input onclick="top.location.href = this.form.City.options[this.form.City.selectedIndex].value" id="okButton" type="button" value="Ok" /></p>
<p> </p>
</form>
как связать
YMaps.jQuery("#okButton").bind("click", function () {
map.removeAllOverlays(); // Удаляем все оверлеи с карты
// Загружаем YMapsML-файл по ссылкам вида http://interaktivecard.com/xml/bah/<Country>-<City>.xml
// Например, [url]http://interaktivecard.com/xml/bah/1-2.xml[/url]
map.addOverlay(
new YMaps.YMapsML(
"http://interaktivecard.com/xml/bah/" +
YMaps.jQuery("#Country :selected").val() + "-" +
YMaps.jQuery("#City :selected").val() + ".xml"
)
);
});
и
<input onclick="top.location.href = this.form.City.options[this.form.City.selectedIndex].value" id="okButton" type="button" value="Ok" />
да ивообще чтобы работало! я не понимаю
Помогите пожалуйста!!!
|
|
17.08.2010, 23:40
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Это работа, и за нее обычно платят деньги.
Для таких сообщений предназначен раздел форума "Работа".
Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела.
|
|
18.08.2010, 00:45
|
Интересующийся
|
|
Регистрация: 06.08.2010
Сообщений: 12
|
|
было бы странно, если вы написали что-то другое!
А подсказать где именно подправить - это не работа, а взаимопомощь
Следуя Вашей логике, зачем тогда форумы и советы, надо лучше сразу на веблансер идти.
Нехорошо как-то получается
Последний раз редактировалось Greendumb, 18.08.2010 в 00:48.
|
|
18.08.2010, 01:04
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Сообщение от Greendumb
|
было бы странно, если вы написали что-то другое!
|
было бы странно, если бы я написал эточ еловеку, приложившему усилия для решения СВОЕЙ задачи, и выложившему бы МИНИМАЛЬНО необходимый код, который четко обозначает проблему, а не сотни строк кода, не относящихся к проблеме
любую единичную проблему можно свести к не более чем 30 строчкам кода, отбрасывая лишнее, не влияющее
Сообщение от Greendumb
|
зачем тогда форумы и советы
|
Почему не следует задавать вопрос «зачем нужен этот форум?»
Сообщение от Greendumb
|
надо лучше сразу на веблансер идти.
|
вам, думаю стоит
Сообщение от Greendumb
|
Нехорошо как-то получается
|
Это интернет, детка.
Здесь могут послать нахуй
|
|
18.08.2010, 16:41
|
Интересующийся
|
|
Регистрация: 06.08.2010
Сообщений: 12
|
|
Спасибо за Вашу "помощь"!
За две ночи сам разобрался - всего-то нужно было подправить 3 строчки вот и вся "работа".
Gvozd, я Вас прошу - не утруждайте себя так в следующий раз давая такие "дельные" советы
Последний раз редактировалось Greendumb, 18.08.2010 в 16:43.
Причина: тему можно закрывать
|
|
19.08.2010, 10:16
|
|
Модератор Всея Форума
|
|
Регистрация: 14.05.2009
Сообщений: 4,021
|
|
Сообщение от Greendumb
|
я Вас прошу - не утруждайте себя так в следующий раз
|
Я тебя прошу - не утруждай себя в следующий раз писать сюда, предварительно не попытавшись решить свою проблему самостоятельно.
|
|
19.08.2010, 13:30
|
Интересующийся
|
|
Регистрация: 06.08.2010
Сообщений: 12
|
|
"крутой" у вас форум
Я, допустим, не позволяю называть незнакомого человека на "ты", тем более с таким принебрежением
|
|
19.08.2010, 13:38
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Сообщение от Greendumb
|
"крутой" у вас форум
|
заметьте, вы сами сюда пришли.
вас сюда никто не звал, и ничего не обещал.
вам тут никто и ничего не обязан.
тем более делать за вас вашу работу, которая так вам нужны выполненной
Сообщение от Greendumb
|
Я, допустим, не позволяю называть незнакомого человека на "ты", тем более с таким принебрежением
|
Сообщение от Gvozd
|
Это интернет, детка.
Здесь могут послать нахуй
|
|
|
19.08.2010, 14:04
|
|
Модератор Всея Форума
|
|
Регистрация: 14.05.2009
Сообщений: 4,021
|
|
Сообщение от Greendumb
|
Я, допустим, не позволяю называть незнакомого человека на "ты", тем более с таким принебрежением
|
Кому не позволишь?! Себе или тому кто называет?
|
|
|
|