Исходный код, работает в шаблоне smarty админки modx. Код исправно работает.
type="text/javascript"></script><script type="text/javascript">var PolygonCoords = '{$tv->value}'; // Подставляется значение TV по умолчанию, если не имеется сохранённой точки.var MapCenter=[];if (PolygonCoords == null || PolygonCoords == ""){MapCenter=[59.09468126320428,37.89173126220425]; //центр по-умолчанию}else{var CoordsArray=PolygonCoords.split(',');MapCenter.push(parseFloat(CoordsArray[0]),parseFlo at(CoordsArray[1])); var PolygonCoordsArr=[];for(var i=0; i<CoordsArray.length; i=i+2){var Arr=[];Arr.push(parseFloat(CoordsArray[i]));Arr.push(parseFloat(CoordsArray[i+1]));PolygonCoordsArr.push(Arr);}}ymaps.ready(init);function init () {var myMap = new ymaps.Map('tv{$tv->id}Map', {center: MapCenter,zoom: 12});var myPolygon = new ymaps.Polygon([PolygonCoordsArr], {hintContent: "[[*pagetitle]]"}, {fillColor: '#6699ff',strokeWidth: 8,opacity: 0.5,draggable: true});// Размещаем геообъект на картеmyMap.geoObjects.add(myPolygon);// Подключаем к геообъекту редактор, позволяющий// визуально добавлять/удалять/перемещать его вершины.myPolygon.editor.startEditing();//myGeoObject.editor.startEditing();myPolygon.events.add('geometrychange', function (e) {var coords = e.get('target').geometry.getCoordinates();// Читаем координатыdocument.getElementById("tv{$tv->id}").value = coords;// Сохраняем координаты в ТВ});}</script>
При попытке добавить код из примера документации страница стабильно выдает Internal server error 500.
http://api.yandex.ru/maps
// Создание кнопки и добавление ее на карту.
var button = new ymaps.control.Button({
data: {
// Зададим иконку для кнопки
image: 'images/button.jpg',
// Текст на кнопке.
content: 'Сохранить',
// Текст всплывающей подсказки.
title: 'Нажмите для сохранения маршрута'
}
}, {
// Зададим опции для кнопки.
selectOnClick: false
});
myMap.controls.add(button, {top: 5, right: 5});
Удаляем код примера - все снова работает. Мне кажется, что дело в формате параметров, но проверить свою догадку не получается.