从谷歌地图api到丰富的片段地理解决方案

时间:2012-10-09 19:06:16

标签: php javascript google-maps

我坚持在我的网站上实施丰富网页摘要。 该页面尊重schema.org/MusicEvent标准。但我无法弄清楚如何提取ncenter中包含的坐标对来填充html代码中的经度和纬度元标记。

var geocoder = new google.maps.Geocoder();
var map;
var ncenter;
function initialize() {

    var address = document.getElementById("address").firstChild.data;
    geocoder.geocode( {'address':address}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            ncenter = results[0].geometry.location;
            var mapOptions = {
                zoom:12,
                center:ncenter,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            }
            map=new google.maps.Map(document.getElementById("map"),mapOptions);
            var marker = new google.maps.Marker({
                map:map,
                position:ncenter
            });             

        } else { 
           alert("Geocode ERROR: " + status);
        }
        });
}
window.onload=initialize;

此外,这不适用于搜索引擎蜘蛛,因为它们不运行JS。 有没有替代解决方案(可能是基于php的查询)?

1 个答案:

答案 0 :(得分:1)

您需要使用javascript编写元标记的内容,例如: (使用jQuery):

$('body').append('<div itemprop="geo">' + 
'<meta itemprop="latitude" content="' + ncenter.lat() + '" />' + 
'<meta itemprop="longitude" content="' + ncenter.lng() + '" />' + 
'</div>');

或者是的,你可以用PHP代替它。