Я довольно начинающий веб-мастер и получил огромную помощь здесь от замечательных добровольцев, и я ценю всех вас.Выполнение Карт Google, вызывающих проблемы со страницами страницы Google
Недавно кто-то здесь (Дэви) помог мне получить карту Google, чтобы запросить БД и отобразить на веб-странице, но это вызывает проблемы с скоростью страницы, которые я не могу взламывать самостоятельно.
Я обобщу; (Ссылки намеренно сломанные путем удаления 1 т с HTTPS, чтобы удовлетворить Algo здесь) С этим URL:
http://classifieds.your-adrenaline-fix.com/detail.php?fatherID=37&TypeID=42&ListingID=42
Google Page Speed говорит; (Примечание From Me: следующие ссылки в полном выглядеть следующим образом:
HTPS: //mts0.googleapis.com/vt lyrs = H @ 210000000 & SRC = apiv3 & гектолитров = EN-US & х = 36 & у = 52 г = s = & стиля = апите% 7Csmartmaps)
следующие ресурсы идентично по содержанию, но подаются из разных URL. Служите эти ресурсы из согласованного URL-адреса, чтобы сохранить 10 запросов (-ей) и 1.9KiB.
htps://mts0.googleapis.com/vt?...
htps://mts0.googleapis.com/vt?...
htps://mts0.googleapis.com/vt?...
htps://mts0.googleapis.com/vt?...
htps://mts0.googleapis.com/vt?...
htps://mts0.googleapis.com/vt?...
htps://mts1.googleapis.com/vt?...
htps://mts1.googleapis.com/vt?...
htps://mts1.googleapis.com/vt?...
htps://mts1.googleapis.com/vt?...
htps://mts1.googleapis.com/vt?...
Кроме того, я получаю;
Следующие ресурсы не имеют валидатора кеша. Ресурсы, которые не задают проверку подлинности кеша, не могут быть эффективно обновлены. Укажите Last-Modified или ETag заголовок, чтобы включить проверку кэша для следующих ресурсов:
htp://www.google.com/.../brand?...
htps://maps.googleapis.com/.../GeocodeService.Search?...
htps://maps.googleapis.com/.../StaticMapService.GetMapImage?...
htps://maps.googleapis.com/.../StaticMapService.GetMapImage?...
htps://maps.googleapis.com/maps/api/js?sensor=true
htps://mts0.googleapis.com/vt?...
htps://mts0.googleapis.com/vt?...
htps://mts0.googleapis.com/vt?...
htps://mts0.googleapis.com/vt?...
htps://mts0.googleapis.com/vt?...
htps://mts0.googleapis.com/vt?...
htps://mts0.googleapis.com/vt?...
htps://mts0.googleapis.com/vt?...
htps://mts0.googleapis.com/vt?...
htps://mts0.googleapis.com/vt?...
htps://mts0.googleapis.com/vt?...
htps://mts0.googleapis.com/vt?...
htps://mts0.googleapis.com/vt?...
htps://mts0.googleapis.com/vt?...
htps://mts1.googleapis.com/.../ft?...
htps://mts1.googleapis.com/.../ft?...
htps://mts1.googleapis.com/.../ft?...
htps://mts1.googleapis.com/vt?...
htps://mts1.googleapis.com/vt?...
htps://mts1.googleapis.com/vt?...
htps://mts1.googleapis.com/vt?...
htps://mts1.googleapis.com/vt?...
htps://mts1.googleapis.com/vt?...
htps://mts1.googleapis.com/vt?...
htps://mts1.googleapis.com/vt?...
htps://mts1.googleapis.com/vt?...
htps://mts1.googleapis.com/vt?...
htps://mts1.googleapis.com/vt?...
htps://mts1.googleapis.com/vt?...
htps://mts1.googleapis.com/vt?...
htps://mts1.googleapis.com/vt?...
htps://mts1.googleapis.com/vt?...
Я надеюсь, что кто-то здесь хорошо знаком с этим и может иметь представление о том, как я мог бы решить эти проблемы.
Это код на detail.php
$TypeID = isset($_GET['TypeID']) ? $_GET['TypeID'] : '';
$ListingID = isset($_GET['ListingID']) ? $_GET['ListingID'] : '';
$allowed_tables = array('tt_42', 'tt_43');
$table ="tt_".$TypeID;
$dbh = new PDO("mysql:host=$host;dbname=$db", $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
if (in_array($table, $allowed_tables)) {
$query = "SELECT `Address`, `City`, `State/Province`, `Zip/Postal`, `Country` FROM `$table` WHERE `ID` = ? AND `ExpireDate` > NOW()";
}
$stmt = $dbh->prepare($query);
$stmt->bindParam(1,$ListingID);
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$stmt->execute();
$Address = $listing['Address'];
$City = $listing['City'];
$State = $listing['State/Province'];
$Zip = $listing['Zip/Postal'];
$Country = $listing['Country'];
echo '<h2>Map of Surrounding Area With Navigational Aides</h2>';
echo '<div class="CalloutBoxBlue">Hover over map and scroll, or use + and - in LH corner of map to zoom or expand viewing area. Alternatively, hold down mouse to manually move the map to a different geographical location, or drag the person icon to a specific location on the map for a street view.</div>';
echo '<div id="GoogleMap">';
echo '<iframe scrolling="no" style="width:480px; height:300px; border:0px;" frameborder="0" src="googlemap.php?Address='.$Address.'&City='.$City.'&State='.$State.'&Zip='.$Zip.'&Country='.$Country.'"></iframe>';
echo '</div>';
}
catch(PDOException $e) {
echo "Error in Displaying Google Map.". $e->getMessage() ;// Remove or modify after testing
//file_put_contents('PDOErrors.txt',date('[Y-m-d H:i:s]').", mapSelect.php, ". $e->getMessage()."\r\n", FILE_APPEND);
}
Кроме того, это код googlemap.php
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map { height: 100% }
</style>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=true">
var geocoder;
var map;
<?php
// Get parameters from URL
$Address = isset($_GET['Address']) ? $_GET['Address'] : '';
$City = isset($_GET['City']) ? $_GET['City'] : '';
$State = isset($_GET['State']) ? $_GET['State'] : '';
$Zip = isset($_GET['Zip']) ? $_GET['Zip'] : '';
$Country= isset($_GET['Country']) ? $_GET['Country'] : '';
//Set javascript variables
echo "var Address ='".$Address."';\n";
echo "var City ='".$City."';\n";
echo "var State ='".$State."';\n";
echo "var Zip ='".$Zip."';\n";
echo "var Country ='".$Country."';\n";
?>
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(0,0);
var mapOptions = {
zoom: 7,
center: latlng,
mapTypeId: google.maps.MapTypeId.HYBRID
}
map = new google.maps.Map(document.getElementById('map'), mapOptions);
codeAddress();
}
function codeAddress() {
var address = Address+','+City+','+State+','+Zip+','+Country;
geocoder.geocode({ 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
} else {
alert('Location not acquired for the following reason: ' + status);
}
});
}
</script>
</head>
<body onload ="initialize()">
<div id="map" style="width:100%; height:100%"></div>
</body>
</html>
Я не знаю, если это на самом деле даже 100% релевантным, но я также имеют следующее в моем htaccess для кеширования ресурсов:
<IfModule mod_expires.c>
# Enable expirations
ExpiresActive On
# Default directive
ExpiresDefault "access plus 1 year"
# Favicon
ExpiresByType image/x-icon "access plus 1 year"
# Images
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
# CSS
ExpiresByType text/css "access 1 month"
# Javascript
ExpiresByType application/javascript "access plus 1 year"
</IfModule>
Я надеюсь, что это просто дело. f нужно добавить строку кода в мой htaccess. Если так, я не знаю, что бы я добавил, и если бы кто-нибудь мог мне помочь, я был бы очень благодарен.
Привет всем, Спасибо за редактирование.«Мой плохой» – 2013-03-22 15:55:36
Работаете ли вы с картой, и только Google Page Speed жалуется на ресурсы Google, которые загружает API Карт Google? Я не думаю, что вы можете с этим поделать. Игнорируй это. –
У меня такая же проблема. Моя встроенная карта Google работает отлично, но PageSpeed сказал мне: «Служить ресурсу с уникального URL-адреса, чтобы исключить дублирование байтов загрузки и дополнительных RTT». Да, я могу игнорировать его, но он показан как проблема с высоким приоритетом, и это не хорошо с точки зрения качества –