Добрый день, форумчане!
Помогите встроить виджет карт 2gis на сайт.
У меня есть 3 файла index.html, script.js и noscript.php (+ библиотека jquery).
Вот содержание файла index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jquery-1.9.0.min.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<select name="city" id="myid">
<option value="selected"></option>
<option value="1">Moscow</option>
<option value="2">Spb</option>
</select>
<div id="content"></div>
</body>
</html>
Вот содержимое script.js
function changeData(data) {
$(data + "<script src='http://mini.api.2gis.ru/js/ver_698e450/loader.js'></script>").appendTo($("#content"));
}
$(document).ready(function() {
$("#myid").bind("change", function() {
var myvar = $("#myid").val();
if (myvar=="selected"){
$("#content").empty();
}
else if (myvar=="1"){
$("#content").empty();
$.get("noscript.php", {city: myvar}, changeData);
alert("Вы выбрали город Москва");
new DG.Widget.Components.Loader({wid: '45269095', params: {"projectSelector":{"id":32,"code":"moscow","name":"Москва","centroid":"POINT(37.62017 55.753466)"},"search":{"rubrics":{"list":[]},"_searchFirmBasePoint":{}},"customBalloon":{},"Map":{"zoom":10,"lon":37.62017,"lat":55.753466},"resize":{"w":570,"h":400}}});
}
else if (myvar=="2"){
$("#content").empty();
$.get("noscript.php", {city: myvar}, changeData);
alert("Вы выбрали город Санкт-Петербург");
new DG.Widget.Components.Loader({wid: 'a2e0fbaf', params: {"projectSelector":{"id":38,"code":"spb","name":"Санкт-Петербург","centroid":"POINT(30.283631 59.937577)"},"search":{"rubrics":{"list":[]},"_searchFirmBasePoint":{}},"customBalloon":{},"Map":{"zoom":10,"lon":30.283631,"lat":59.937577},"resize":{"w":570,"h":400}}});
}
});
});
Вот noscript.php
<?php
if ($_GET['city']==1) echo "<noscript id='dg-widget-minigis-place-45269095' style='color:#c00;font-size:16px;font-weight:bold;'>Код для вставки виджета на сайт</noscript>";
elseif ($_GET['city']==2) echo "<noscript id='dg-widget-minigis-place-a2e0fbaf' style='color:#c00;font-size:16px;font-weight:bold;'>Код для вставки виджета на сайт</noscript>";
?>
Идея такая: При выборе из списка Moscow или Spb в div с id = "content" будет подгружаться карта Москвы или Санкт-Петербурга без перезагрузки страницы. Сейчас всё работает в firefox, если стоит alert, если его убрать, то работать скрипт отказывается. А в других браузерах хоть с alert, хоть без него не работает.
Работает следующий код во всех браузерах, если без выпадающего списка взять один город:
<html>
<head>
</head>
<body>
<div id="content">
<noscript id="dg-widget-minigis-place-45269095" style="color:#c00;font-size:16px;font-weight:bold;">
Код для вставки виджета на сайт
</noscript>
<script src="http://mini.api.2gis.ru/js/ver_698e450/loader.js"></script>
<script type="text/javascript">new DG.Widget.Components.Loader({wid: '45269095', params: {"projectSelector":{"id":32,"code":"moscow","name":"Москва","centroid":"POINT(37.62017 55.753466)"},"search":{"rubrics":{"list":[]},"_searchFirmBasePoint":{}},"customBalloon":{},"Map":{"zoom":10,"lon":37.62017,"lat":55.753466},"resize":{"w":570,"h":400}}});</script>
</div>
</body>
</html>