powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / openlayers и маркеры
3 сообщений из 3, страница 1 из 1
openlayers и маркеры
    #38255685
Андрюхин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет! используью openlayers для отображения карты, в данном коде маркеры проставляются по нажатию кнопок, но есть необходиомсть при нажатии на маркер вывести popup....и это не получается......помогите может кто подскажет в чем дело?
яваскрипт используется.

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
<!DOCTYPE HTML>
<html>
<head>
<title>OpenLayers Demo</title>
<style type="text/css">
 body, #basicMap {
      width: 828px;
      height: 698px;
      margin: 10px;
      float: left;
 }
 html {
      font-size: 10px;
      bottom: 10px;
      right: 10px;
 }

</style>
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
    <script src="http://www.openstreetmap.org/openlayers/OpenStreetMap.js"></script>

<script>

    var map;
    var markers;


    function ejecutar() {
        init(3);
        //loadMarkers();
    }
    function init(b,kor_1,kor_2) {
        if (b == 3) {
            map = new OpenLayers.Map("basicMap", {
                controls: [
                    new OpenLayers.Control.Navigation(),
                    new OpenLayers.Control.PanZoomBar(),
                    new OpenLayers.Control.LayerSwitcher(),
                    new OpenLayers.Control.Attribution()],
                maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34, 20037508.34, 20037508.34),
                maxResolution: 156543.0399,
                numZoomLevels: 2,
                units: 'm',
                projection: new OpenLayers.Projection("EPSG:900913"),
                displayProjection: new OpenLayers.Projection("EPSG:4326")
            });
        }
        // Define the map layer
        // Here we use a predefined layer that will be kept up to date with URL changes
        layerMapnik = new OpenLayers.Layer.OSM.Mapnik("MapaCiudad");
        map.addLayer(layerMapnik);
        var lonLat = new OpenLayers.LonLat(37.61556, 55.75222).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
        //map.setCenter(new OpenLayers.LonLat(-3.862788677215576, 43.4669443349282) // Center of the map
        map.zoomTo(13);
        map.setCenter(lonLat, 19);
        markers = new OpenLayers.Layer.Markers("Marcadores");
        map.addLayer(markers);

        if (b == 2) {           
                
                //=================  =========
                var size = new OpenLayers.Size(30, 30);
                var offset = new OpenLayers.Pixel(-(size.w / 2), -size.h);
                var location = new OpenLayers.LonLat(kor_1,kor_2).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
                var icon = new OpenLayers.Icon('http://icons.iconarchive.com/icons/icons-land/vista-map-markers/256/Map-Marker-Ball-Pink-icon.png', size, offset);
                markers.addMarker(new OpenLayers.Marker(location, icon.clone()));
            
                //================= ==============
        }

    }



    

 </script>
</head>
<body onload="ejecutar();">
<div id="basicMap" ></div>
        
    <input type="button" value="add_metka1" onclick="init(2, 37.61100, 55.75111)" />
    <input type="button" value="add_metka2" onclick="init(2,37.61556, 55.75222)" />
    <input type="button" value="add_metka3" onclick="init(2, 37.61030, 55.75234)" />
    <input type="button" value="add_metka4" onclick="init(2, 37.61876, 55.75098)" />
</body>
...
Рейтинг: 0 / 0
openlayers и маркеры
    #38255702
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрюхин,

прошу прощения за дурацкий вопрос - а почему бы не использовать яндексовые или гугловские карты?

а если уж приспичило эти раскурить, то для начала - где тот кусок кода, который по замыслу должен "при нажатии на маркер вывести popup"?
...
Рейтинг: 0 / 0
openlayers и маркеры
    #38255715
Андрюхин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Меч,

пытался делать не выходило....(яндекс и гугл не разрешает в комммер целях использовать)
..может кто знает? любые виды popup не срабатывают..

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
map.layers.events.on( {
 "featureselected": function (e) {
       var HTMLcontent;
       var point
//Здесь можно генерировать любой контент
       HTMLcontent = 'table style="width: 100%;" tr td Информация об объекте td tr table ';
//getCentroid() - получить центр фигуры, в данном случае лишнее, но это унифицированный способ получения места всплытия подсказки
       point = new OpenLayers.LonLat(e.feature.geometry.getCentroid().x, e.feature.geometry.getCentroid().y);
//OpenLayers.Popup.AnchoredBubble - всплывающий прямоугольник, есть другие варианты в OpenLayers.Popup
       var popup = new OpenLayers.Popup.AnchoredBubble("SDVegetationInfo",
           point,
           new OpenLayers.Size(100, 100), 
           HTMLcontent,                   
           null,
           false);
       popup.opacity = 0.9;
       popup.autoSize = true;
       popup.setBackgroundColor("#bcd2bb");
//добавление на карту 
       map.addPopup(popup, true);
      }
// когда выделение убрано, через секунду окно погаснет
      , "featureunselected": function (e) {
           setTimeout('if(map.popups.length - 1>-1){map.removePopup(map.popups[map.popups.length - 1]);}', 1000);
        }
});
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / openlayers и маркеры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]