v2.5.2
Giriş yap

Google maps konum işaretleme sorunu

yazilimyolcusu
353 defa görüntülendi

Merhaba arkadaşlar. Veritabanına kaydettiğim koordinatları işaretleyici ile harita üzeride gösteremiyorum. Chrome konsolunu açtığımda da iki sorun ile karşılaşıyorum.

Koordinatları çekerken hata oluştu: 
SyntaxError: Unexpected token 
<!DOCTYPE  ... is not valid JSON

İkinci hata faturalandırma yapmamı istiyor. Yalnız ben 18 bin gibi bir görüntüleme yapmadım. Bu sayılara kadar ücretsiz olması gerekli.

Kodlar aşağıda.

<div class="konum">
    <?php
    $genelbilgilersorgusu = "SELECT * FROM yenieklenenler WHERE yenieklenenler_id='$sayfaal'";
    $genelbilgilersorgu = mysqli_query($db, $genelbilgilersorgusu);
    foreach($genelbilgilersorgu as $genelbilgilersorgugoster) {
    ?>
        <div id="map" style="height: 400px; width: 100%;">
            <?php $coordinates[] = array($genelbilgilersorgugoster['yenieklenenler_latitude'], $genelbilgilersorgugoster['yenieklenenler_longitude']); ?>
        </div>
    
    
    <?php } 
    json_encode($coordinates);
    ?>
<script>
    var map;
    var marker;

    function initMap() {
        map = new google.maps.Map(document.getElementById('map'), {
            center: {lat: 41.0082, lng: 28.9784},
            zoom: 6
        });

        fetch('yenieklenensayfasi.php')
            .then(response => response.json())
            .then(coordinates => {
                coordinates.forEach(coord => {
                    var newMarker = new google.maps.Marker({
                        position: {lat: parseFloat(coord.lat), lng: parseFloat(coord.lng)},
                        map: map
                    });
                });
            })
            .catch(error => {
                console.error('Koordinatları çekerken hata oluştu:', error);
            });

        map.addListener('click', function(event) {
            placeMarker(event.latLng);
        });
    }

    function placeMarker(location) {
        if (marker) {
            marker.setPosition(location);
        } else {
            marker = new google.maps.Marker({
                position: location,
                map: map
            });
        }

        document.getElementById('latitude').value = location.lat();
        document.getElementById('longitude').value = location.lng();
    }
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=apikey&loading=async&callback=initMap" async defer></script>
Cevap yaz
Cevaplar (2)
yazilimyolcusu
229 gün önce

Sorunu şöyle çözdüm.

<div class="konum">
    <?php
    $genelbilgilersorgusu = "SELECT * FROM yenieklenenler WHERE yenieklenenler_id='$sayfaal'";
    $genelbilgilersorgu = mysqli_query($db, $genelbilgilersorgusu);
    $coordinates = array();

    foreach($genelbilgilersorgu as $genelbilgilersorgugoster) {
    ?>
        <div style="width: 100%; height: 100%;">
            <iframe src="https://www.google.com/maps/?q=<?php echo $genelbilgilersorgugoster['yenieklenenler_latitude']; ?>, <?php echo $genelbilgilersorgugoster['yenieklenenler_longitude']; ?>&h1=es;z=14&output=embed" frameborder="0" style="width: 100%; height: 400px;"></iframe>
        </div>   
        <?php } ?>       
</div>
<script>
var map;
var markers = [];

function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
    center: {lat: 41.0082, lng: 28.9784},
    zoom: 30
});


<?php if (!empty($coordinates)) { ?>
    <?php foreach ($coordinates as $coord) { ?>
        var marker = new google.maps.Marker({
            position: {lat: parseFloat(coord['lat']), lng: parseFloat(coord['lng'])},
            map: map
        });
        markers.push(marker);
    <?php } ?>
<?php } ?>

}
</script>
    
<script
    src="https://maps.googleapis.com/maps/api/js?key=keyalani&callback=initMap&v=weekly" defer></script>
</script>
ebykdrms
233 gün önce

yenieklenensayfasi.php sayfasına attığın istek json dönmüyor. Bunun yerine bir html içerik (muhtemelen php hata sayfası) dönüyor.
Bu yüzden .then(response => response.json()) satırında hata alıyorsun.
yenieklenensayfasi.php sayfasının json döndürdüğünden emin olmalısın. Bir hata varsa bunu bulup gidermelisin.