• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
داینامیک کردن سورس مارک کردن رو نقشه گوگل با جی کوئری
#1
سلام.
دوستان من یه سورس دارم برای مارک کردن روی نقشه گوگل
به این صورت:
کد پی‌اچ‌پی:
var maptheMarkeroldMarker;
    var 
myCenter = new google.maps.LatLng(36.37188479448487,59.524805545806885);
    var 
creator;
    var 
globalCityId 207globalDistrictId 0;
    var 
theLoc;
    function 
initialize()
    {
        var 
mapProp = {
            
centermyCenter,
            
zoom16,
            
zoomControltrue,
            
zoomControlOptions: {
                
stylegoogle.maps.ZoomControlStyle.LARGE,
                
positiongoogle.maps.ControlPosition.LEFT_CENTER
            
}
        };

        
map = new google.maps.Map(document.getElementById("mapContainer"), mapProp);

        
google.maps.event.addListener(map'click', function (event) {
            
placeMarker(event.latLngmapfalse);
            
theLoc = ["getByLocation",[event.latLng.lat(),event.latLng.lng()]];
            
triggerSelectOnValidInput=true;
            $(
"#districtId").autocomplete().getByLocation(theLoc);
        });
        

        
google.maps.event.addListenerOnce(map'idle', function(){
            $(
"body span").last().remove();
        });

    }

    function 
getDistricts(location) {
        $.
post("index.php?ajax=true&plugMain=district",
                {
                    
getDistrictsByLatLngtrue,
                    
latLng: [location.lat(), location.lng()]
                },
                function (
input) {
                    var 
inputs = $.parseJSON(input);
                    if (
inputs != null) {
                        if (
true == inputs.result) {
                            
//$(".divInnerEstateTitle").find(".imgWarning").remove();
                            //$(".divInnerEstateTitle").prepend("<img src='" + tplLink + "/image/warning.png?19' class='imgWarning' title='در حال بررسی' alt='در حال بررسی' />");
                        
}
                    }
                });
    }

    function 
placeMarker(locationmappanToMarker) {
        if (
oldMarker != null)
            
oldMarker.setMap(null);
        if (
theMarker != null)
            
theMarker.setMap(null);
        var 
data = {
            
positionlocation,
            
icontplLink "images/pin.png",

            
mapmap
        
};
        if (
panToMarker) {
            
map.setCenter(location);
            
map.setZoom(14);
        }
        
//cons
        
var marker = new google.maps.Marker(data);
        
theMarker marker;
        $(
"#estateLat").attr("value"location.lat());
        $(
"#estateLng").attr("value"location.lng());
    }

    function 
panToMap(locationmap) {
        
map.setCenter(location);
        
map.setZoom(14);
    }

    
google.maps.event.addDomListener(window'load'initialize); 

اگه دقت کرده باشین اون بالا یه مختصات داره
به این شکل:
36.37188479448487,59.524805545806885
مشکل منم همینجاست
من میخوام این مختصات بصورت داینامیک وارد بشه.
من یک selectتوو html نوشتم.
که به وسیله اون شهر های مختلفی داخلش قرار داره
با انتخاب هر شهر،مختصاتش هم جایگزینه اون مختصات استاتیک بشه
این کد من که نوشتم بصورت کامل،اما عمل نمیکنه:
کد پی‌اچ‌پی:
select id="cat_area" class="city">
<
option value="mashhd" class="54.5445,42.555555">mashhad</option>
<
option value="tehran" class="54.543445,42.534555">tehran</option>

</
select>
<
input id="estate" name="estate" value="" />
<
script>
$(
document).ready(function(){
    $(
'.city').change(function(){
      var 
cs2 = $("option:selected"this).attr("class");
      
console.log(cs2);
      $(
"#estate").attr("value",cs2)
    });
  });
    var 
maptheMarkeroldMarker;
    var 
estate document.getElementById("estate").value;
    var 
myCenter = new google.maps.LatLng(estate);
    var 
creator;
    var 
globalCityId 207globalDistrictId 0;
    var 
theLoc;
    function 
initialize()
    {
        var 
mapProp = {
            
centermyCenter,
            
zoom16,
            
zoomControltrue,
            
zoomControlOptions: {
                
stylegoogle.maps.ZoomControlStyle.LARGE,
                
positiongoogle.maps.ControlPosition.LEFT_CENTER
            
}
        };

        
map = new google.maps.Map(document.getElementById("mapContainer"), mapProp);

        
google.maps.event.addListener(map'click', function (event) {
            
placeMarker(event.latLngmapfalse);
            
theLoc = ["getByLocation",[event.latLng.lat(),event.latLng.lng()]];
            
triggerSelectOnValidInput=true;
            $(
"#districtId").autocomplete().getByLocation(theLoc);
        });
        

        
google.maps.event.addListenerOnce(map'idle', function(){
            $(
"body span").last().remove();
        });

    }

    function 
getDistricts(location) {
        $.
post("index.php?ajax=true&plugMain=district",
                {
                    
getDistrictsByLatLngtrue,
                    
latLng: [location.lat(), location.lng()]
                },
                function (
input) {
                    var 
inputs = $.parseJSON(input);
                    if (
inputs != null) {
                        if (
true == inputs.result) {
                            
//$(".divInnerEstateTitle").find(".imgWarning").remove();
                            //$(".divInnerEstateTitle").prepend("<img src='" + tplLink + "/image/warning.png?19' class='imgWarning' title='در حال بررسی' alt='در حال بررسی' />");
                        
}
                    }
                });
    }

    function 
placeMarker(locationmappanToMarker) {
        if (
oldMarker != null)
            
oldMarker.setMap(null);
        if (
theMarker != null)
            
theMarker.setMap(null);
        var 
data = {
            
positionlocation,
            
icontplLink "images/pin.png",

            
mapmap
        
};
        if (
panToMarker) {
            
map.setCenter(location);
            
map.setZoom(14);
        }
        
//cons
        
var marker = new google.maps.Marker(data);
        
theMarker marker;
        $(
"#estateLat").attr("value"location.lat());
        $(
"#estateLng").attr("value"location.lng());
    }

    function 
panToMap(locationmap) {
        
map.setCenter(location);
        
map.setZoom(14);
    }

    
google.maps.event.addDomListener(window'load'initialize); 
    
</
script
خواهش میکنم کمکم کنین

دوستان این خط رو:
کد پی‌اچ‌پی:
var estate document.getElementById("estate").value
اینطوری هم نوشتم:
کد پی‌اچ‌پی:
var estate = $("#estate").val 
  پاسخ
تشکر شده توسط :
#2
دوستان اگه ممکنه راهنمایی کنین

خیلی برام حیاتیه
  پاسخ
تشکر شده توسط :
#3
اینم راه حل:
کد پی‌اچ‌پی:
<script>
$(
document).ready(function(){
    $(
'.city').change(function(){
      var 
cs2 = $("option:selected"this).attr("class");
var 
res cs2.split(',');
$(
'#estateLat').attr('value',res[0]);
$(
'#estateLng').attr('value',res[1]);
      $(
"#estate").attr("value",cs2);
$( 
"#estate_n" ).html(res[0]);
$( 
"#estate_n2" ).html(res[1]);
    });
  });
      
let lat = $("#estate_n").text();
      
let lng = $("#estate_n2").text();
    
console.log(parseFloat(lat)); 
    
console.log(parseFloat(lng));
    var 
maptheMarkeroldMarker;
    var 
myCenter = new google.maps.LatLng(latlng);
    var 
creator;
    var 
globalCityId 207globalDistrictId 0;
    var 
theLoc;
    function 
initialize()
    {
        var 
mapProp = {
            
centermyCenter,
            
zoom16,
            
zoomControltrue,
            
zoomControlOptions: {
                
stylegoogle.maps.ZoomControlStyle.LARGE,
                
positiongoogle.maps.ControlPosition.LEFT_CENTER
            
}
        };

        
map = new google.maps.Map(document.getElementById("mapContainer"), mapProp);

        
google.maps.event.addListener(map'click', function (event) {
            
placeMarker(event.latLngmapfalse);
            
theLoc = ["getByLocation",[event.latLng.lat(),event.latLng.lng()]];
            
triggerSelectOnValidInput=true;
            $(
"#districtId").autocomplete().getByLocation(theLoc);
        });
        

        
google.maps.event.addListenerOnce(map'idle', function(){
            $(
"body span").last().remove();
        });

    }

    function 
getDistricts(location) {
        $.
post("index.php?ajax=true&plugMain=district",
                {
                    
getDistrictsByLatLngtrue,
                    
latLng: [location.lat(), location.lng()]
                },
                function (
input) {
                    var 
inputs = $.parseJSON(input);
                    if (
inputs != null) {
                        if (
true == inputs.result) {
                            
//$(".divInnerEstateTitle").find(".imgWarning").remove();
                            //$(".divInnerEstateTitle").prepend("<img src='" + tplLink + "/image/warning.png?19' class='imgWarning' title='در حال بررسی' alt='در حال بررسی' />");
                        
}
                    }
                });
    }

    function 
placeMarker(locationmappanToMarker) {
        if (
oldMarker != null)
            
oldMarker.setMap(null);
        if (
theMarker != null)
            
theMarker.setMap(null);
        var 
data = {
            
positionlocation,
            
icontplLink "images/pin.png",

            
mapmap
        
};
        if (
panToMarker) {
            
map.setCenter(location);
            
map.setZoom(14);
        }
        
//cons
        
var marker = new google.maps.Marker(data);
        
theMarker marker;
        $(
"#estateLat").attr("value"location.lat());
        $(
"#estateLng").attr("value"location.lng());
    }

    function 
panToMap(locationmap) {
        
map.setCenter(location);
        
map.setZoom(14);
    }

    
google.maps.event.addDomListener(window'load'initialize); 
</
script
طبق همین فایل،آیدی های مربوط رو اگه دلتون خواست اضافه کنین.
اگرم نخواستین خلاصه کنین
  پاسخ
تشکر شده توسط : MRCanddy


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان