Клуб API Карт

API Яндекс Карты и WP

Пост в архиве.

У меня не получается добавить код API Яндекс Карт в страницу на CMS движке WordPress!


Вместо карты выдает пусто место

18 комментариев
Покажите пример страницы.
Аналогичная проблема, помогите пожалуйста
http://photonadinamo.ucoz.ru/index/kak_nas_najti/0-5
Антон Печкин
28 января 2016, 07:36
Именно!
У вас в коде:
<SCRIPT type=text/javascript src="http://api-maps.yandex.ru/1.1/?key=ADzNzUsBAAAAyNTIPQMAqgkQAFTVX2S1rrYcJZxA_2PKL3sAAAAAAAAAAABs6jNQRluA-PPLh1RcBOoqWSCqdA==&amp;wizard=constructor">SCRIPT><BR><SCRIPT type=text/javascript>

YMaps.jQuery(function () {

var map = new YMaps.Map(YMaps.jQuery("#YMapsID-2018")[0]);

map.setCenter(new YMaps.GeoPoint(37.56332,55.80035), 16, YMaps.MapType.MAP);

map.addControl(new YMaps.Zoom());

map.addControl(new YMaps.ToolBar());

map.addControl(new YMaps.TypeControl());

YMaps.Styles.add("constructor#pmlbm1Placemark", {

iconStyle : {

href : "http://api-maps.yandex.ru/i/0.3/placemarks/pmlbm1.png",

size : new YMaps.Point(28,29),

offset: new YMaps.Point(-8,-27)

}

});

map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(37.564071,55.800942), "constructor#pmlbm1Placemark", "Срочное фото на документы.

Вход со стороны универсама \"Пятерочка\""));



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;

}

});

SCRIPT>
Т.е. как я понимаю вы вставили код в режиме визуального редактора. а надо в режиме HTML. Так как
не даёт выполнится javascript
Антон Печкин
28 января 2016, 07:36
Лично у меня на сайте код вставлялся в режиме html!
Ну, видимо, у вас не вставляются br
Антон Печкин
28 января 2016, 07:36
да, но и карта не грузится
Ну так как вы до сих пор примера страницы не привели. я вам ничего подсказать не смогу
В javascript не должно быть разметки html. По-этому скрипт и не выполняется. Попробуйте такую джидайскую манипуляцию: когда вставляете код, нажимайте кнопку опубликовать сразу, не переходя в расширенный режим. Wordpress автоматически расставляет 

при переходе в этот режим. Т.е. вставили код в режиме просто текст и опубликовали.

        YMaps.Styles.add("constructor#pmrdsPlacemark", {
            iconStyle : {
                href : "http://api-maps.yandex.ru/i/0.3/placemarks/pmrds.png",
                size : new YMaps.Point(19,20),
                offset: new YMaps.Point(-7,-19)
            }
        });


        YMaps.Styles.add("constructor#FF3732c85Polyline", {
            lineStyle : {
                strokeColor : "FF3732c8",
                strokeWidth : 5
            }
        });
       map.addOverlay(createObject("Placemark", new YMaps.GeoPoint(30.337506,59.974108), "constructor#pmrdsPlacemark", "ПостЛайн"));
       map.addOverlay(createObject("Polyline", [new YMaps.GeoPoint(30.337581,59.974088),new YMaps.GeoPoint(30.337645,59.973997),new YMaps.GeoPoint(30.339254,59.974147)], "constructor#FF3732c85Polyline", ""));
       map.addOverlay(createObject("Polyline", [new YMaps.GeoPoint(30.339254,59.974147)], "constructor#FF3732c85Polyline", ""));


       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;


Антон Печкин
28 января 2016, 07:36
дык там не такого там 2 режима, визуально - это будет просто текст, и режим HTML все я вставляю код в режиме html и сразу жму опубликовать Ждедайский режим не сработал =(
Не уверен что вы меня правильно поняли. Так как

из кода не исчезли:

1. Переходите в режим HTML
2. Вставляете javascript код.
3. Нажимаете кнопку опубликовать

Всё больше никаких телодвижений не совершайте. Ваша задача добиться чтобы исчезли



Если и в этом случае не получится, вставляйте код в шаблон. В частности можно в single.php

Антон Печкин
28 января 2016, 07:36

Я уверен что я правильно понял!

я проблему тоже понял


к сожалению движок вставляет

когдая я публикую код в режиме html

Ну, может, это какая-то фишка 2.9.2. Тогда выход один. Делать через шаблон. В single.php после wp_content() вставляйте код, который нужен. Не забудьте проверку:

 if ($post->ID==35){
?>
javascript
}
Антон Печкин
28 января 2016, 07:36
ммммм спасибо большое!
Что-то у вас, вообще, всё поломалось :(
Антон Печкин
28 января 2016, 07:36

уже работает)

но эту штуку прикрутить не получилось, нужно вкурвиать