There are points on the Yandex.kart that are stored in the SQL database. I need to change the background on Google Maps and transfer the markers to it. I was not involved in the project, there is no documentation, please help me figure it out.

get_region.php

<?php include '../include/config.php'; $id = $_GET['id']; $act = $_GET['act']; $sql = "SELECT region.gps AS gps, count(*) AS num FROM inform_objects, region WHERE inform_objects.id_region=region.cod_reg AND id_objects=$id GROUP BY cod_reg"; $result = mysql_query($sql); if ($act == 'add'){ $row = mysql_fetch_object(mysql_query("SELECT img_name, offset FROM objects WHERE id=$id")); $img = "1_" . $row->img_name; $offset = $row->offset; echo "function SetMarkers(){ gCollection_o$id = new ymaps.GeoObjectCollection(); "; while ($row = mysql_fetch_object($result)){ $point = $row->gps; $num = $row->num; echo " var content = {iconContent: \"<div style='background-color: #fff;'>$num</div>\"}, styles = { iconLayout:\"default#imageWithContent\", iconImageHref:\"/templates1/images/$img\", iconImageSize:[16,16], iconImageOffset:[$offset], iconContentOffset: [16,0] }, placemark = new ymaps.Placemark([$point], content, styles);"; /* echo "placemark = new ymaps.Placemark([$point]);"; */ echo "gCollection_o$id.add(placemark);"; } echo "map.geoObjects.add(gCollection_o$id);"; echo "}"; } else { echo "function DelMarkers(){"; echo "map.geoObjects.remove(gCollection_o$id);"; echo "}"; } ?> 

get_object.php

 <?php include '../include/config.php'; header('Content-Type: text/html; charset=utf-8'); $id_r = $_GET['idr']; $id_o = $_GET['ido']; $sql="SELECT id, id_region, id_objects, gps, name, address_output, con_state FROM inform_objects WHERE id_region=$id_r AND id_objects=$id_o"; $result = mysql_query($sql); $row = mysql_fetch_object(mysql_query("SELECT img_name, marker_color FROM objects WHERE id=$id_o")); $img = $row->img_name; $color = $row->marker_color; echo "function SetMarkers(){ gCollection_o$id_o = new ymaps.GeoObjectCollection({},{ iconImageOffset:[0,0], hideIconOnBallon: false, preset: 'twirl#".$color."StretchyIcon' }); "; while ($row = mysql_fetch_object($result)){ $id = $row->id; $point = $row->gps; if ($point == ''){continue;} $name = htmlspecialchars_decode($row->name); $name = htmlspecialchars($name); $addr_output = htmlspecialchars_decode($row->address_output); $addr_output = htmlspecialchars($addr_output); $status = $row->con_state; switch ($status){ case 0: $status = "не діючий"; $s_style = "/templates1/images/0_$img"; break; case 1: $status = "діючий"; $s_style = "/templates1/images/1_$img"; break; case 2: $status = "будується"; $s_style = "/templates1/images/0_$img"; } echo "var content = { iconContent: \"<img src='$s_style' width='16'>\", balloonContentHeader: \"$name\", balloonContentBody: \"<i>Адреса виробництва:</i> $addr_output<br> <i>Стан виробництва:</i> $status \", balloonContentFooter: \"<a href='#' onclick='GetInfo($id)'>Детальніше...</a>\" }, styles = { //iconImageHref:\"$s_style\", //iconImageSize:[16,16], }, placemark = new ymaps.Placemark([$point], content, styles);"; echo "gCollection_o$id_o.add(placemark);"; } echo "map.geoObjects.add(gCollection_o$id_o);"; echo "}"; ?> 

jmaps.js

 ymaps.ready(init); function init() { map = new ymaps.Map("YMapsID",{ center: [32.653868,48.716073], zoom: 6, behaviors: ['default', 'scrollZoom'] },{ minZoom: 6 }); map.controls .add('zoomControl') .add('typeSelector'); var listeners = map.events.group() .add('boundschange', function (e){ var zoom = e.get('newZoom'); if(zoom<8){//ð³âåíü êðà¿íè //alert('Ïðåéøëè íà ð³âåíü êðà¿íè. Ìàñøòàá:'+zoom); } else if(zoom<11){//ð³âåíü îáëàñò³ //$("#region").val(''); //$("#region").change(); //alert('Ïðåéøëè íà ð³âåíü îáëàñò³. Ìàñøòàá:'+zoom); } else {//ð³âåíü ðàéîíó //alert('Ïðåéøëè íà ð³âåíü ðàéîíó. Ìàñøòàá:'+zoom); } }); /* YMaps.Events.observe(map, map.Events.SmoothZoomEnd, function (map, mEvent) { var zoom = map.getZoom(); if(zoom<6){ } else if(zoom<8){//ð³âåíü êðà¿íè } else if(zoom<11){//ð³âåíü îáëàñò³ $("#region").val('32;30.71357,50.381506'); $("#region").change(); //alert('Ïðåéøëè íà ð³âåíü îáëàñò³. Ìàñøòàá:'+zoom); } else {//ð³âåíü ðàéîíó alert('Ïðåéøëè íà ð³âåíü ðàéîíó. Ìàñøòàá:'+zoom); } //alert(text); }); YMaps.Events.observe(map, map.Events.Click, function (map, mEvent) { var point = ''+mEvent.getGeoPoint(); var mas = point.split(','); var x = mas[0]; var y = mas[1]; var geocoder = new YMaps.Geocoder(new YMaps.GeoPoint(x, y)); YMaps.Events.observe(geocoder, geocoder.Events.Load, function () { if (this.length()) { var text = this.get(0).text; alert(text); } }) ; });*/ } $(document).ready(function(){ var w = $('.left_col').width(); var h = $(window).height(); $('#map').width(w); $('#map').height(h-100); $('#objects').height(h-120); $(window).resize(function(){ var w = $('.left_col').width(); var h = $(window).height(); $('#map').width(w); $('#map').height(h-100); $('#objects').height(h-120); }); $('#region').change(function(){ var id = $('#region :selected').val(); if(id != ''){ $.get('/ajax/get_region_gps.php',{id:id},function(data) { data = data.split(','); map.setCenter(data, 8); }); $.get('/ajax/get_areas.php',{id:id},function(data) { $('#area').empty(); $('#area').append(data); $('#area').css('visibility','visible'); }); $.get('/ajax/get_object_by_region.php',{id:id},SetObjectData,'xml'); $('input:checkbox:checked').each(function(){ var ido = $(this).val(); $.getScript('/ajax/get_regions_markers.php?id='+ido+'&act=del', function(){ DelMarkers(); }); $.getScript('/ajax/get_object_markers.php?ido='+ido+'&idr='+id, function(){ SetMarkers(); }); }); $('#level').val('region'); } else { $('#area').empty(); $('#area').css('visibility','hidden'); map.setCenter([32.653868,48.716073], 6); $.get('/ajax/get_object_by_state.php',{},SetObjectData,'xml'); $('input:checkbox:checked').each(function(){ var ido = $(this).val(); $.getScript('/ajax/get_regions_markers.php?id='+ido+'&act=del', function(){ DelMarkers(); }); $.getScript('/ajax/get_regions_markers.php?id='+ido+'&act=add', function(){ SetMarkers(); }); }); $('#level').val('country'); } }); $('#area').change(function(){ var id = $('#area :selected').val(); var id_reg = $('#region :selected').val(); if(id != ''){ $.get('/ajax/get_area_gps.php',{id:id,id_reg:id_reg},function(data) { data = data.split(','); map.setCenter(data, 11); }); //var id_reg = $('#region').val(); /*öåé êîä áóäå ïîòð³áåí, ÿêùî ñòâîðþâàòè âèïàäàþ÷èé ñïèñîê ïî îá'ºêòàõ ðàéîíó (âèìàãຠìîäèô³êàö³¿)*/ /*$.get('/ajax/get_areas.php',{id:id},function(data) { $('#area').empty(); $('#area').append(data); $('#area').css('visibility','visible'); });*/ $.get('/ajax/get_object_by_area.php',{id:id,id_reg:id_reg},SetObjectData,'xml'); /*öåé êîä áóäå ïîòð³áåí, ÿêùî íà ð³âí³ îáëàñò³ íå ðîçêëàäàòè íà îá'ºêòè, à âèäàâàòè ñóìàðíó ³íôîðìàö³þ*/ /*$('input:checkbox:checked').each(function(){ var ido = $(this).val(); $.getScript('/ajax/get_regions_markers.php?id='+ido+'&act=del', function(){ DelMarkers(); }); $.getScript('/ajax/get_object_markers.php?ido='+ido+'&idr='+id, function(){ SetMarkers(); }); });*/ $('#level').val('area'); } else { /*öåé êîä áóäå ïîòð³áåí, ÿêùî ñòâîðþâàòè âèïàäàþ÷èé ñïèñîê ïî îá'ºêòàõ ðàéîíó (âèìàãຠìîäèô³êàö³¿)*/ /*$('#area').empty(); $('#area').css('visibility','hidden');*/ var id = $('#region :selected').val(); $.get('/ajax/get_region_gps.php',{id:id},function(data) { data = data.split(','); map.setCenter(data, 8); }); $.get('/ajax/get_object_by_region.php',{id:id},SetObjectData,'xml'); /*öåé êîä áóäå ïîòð³áåí, ÿêùî íà ð³âí³ îáëàñò³ íå ðîçêëàäàòè íà îá'ºêòè, à âèäàâàòè ñóìàðíó ³íôîðìàö³þ*/ /*$('input:checkbox:checked').each(function(){ var ido = $(this).val(); $.getScript('/ajax/get_regions_markers.php?id='+ido+'&act=del', function(){ DelMarkers(); }); $.getScript('/ajax/get_regions_markers.php?id='+ido+'&act=add', function(){ SetMarkers(); }); });*/ $('#level').val('region'); } }); $('input:checkbox').change(function(){ var id = $(this).val(); if($(this).attr('checked')=='checked'){ var level = $('#level').val(); if(level == 'country'){ $.getScript('/ajax/get_regions_markers.php?id='+id+'&act=add', function(){ SetMarkers(); }); } else{ var idr = $('#region').val(); $.getScript('/ajax/get_object_markers.php?ido='+id+'&idr='+idr, function(){ SetMarkers(); }); } } else { $.getScript('/ajax/get_regions_markers.php?id='+id+'&act=del', function(){ DelMarkers(); }); } }); }); function SetObjectData(xml){ $(xml).find("object").each(function () { var id = $(this).find("id").text(); var num = $(this).find("num").text(); var val = $(this).find("val").text(); $('#num_'+id).text(num); $('#val_'+id).text(val); }); } function GetInfo(id){ map.balloon.close(); $.get('/ajax/info_object.php',{id:id},SetNewModal); //map.baloon.close(); } function SetNewModal(data){ $('#modal').empty(); $('#modal').append(data); $.modal.defaults.closeClass = "modalClose"; $('#modal').modal(); return false; } 
  • Well, read the documentation for google maps and arrange the points using the gps coordinates from the database. For you to do no one will be ready to work code. - ilyaplot

0