您好,我试图通过首先使用 js-placemaker(雅虎的用于从任何类型的数据中对文本进行地理定位的网络服务)从推文的文本中提取位置来将一些推文放在谷歌地图上。
问题是我在地图上放置了不同的标记,但我只从 twitter resutlts 回调中获得最后一条推文,并且在地图上的每个标记上看到相同的 profile_img_url。我也无法让 infowindows 工作。
function codeAddress(){
var geocoder = new google.maps.Geocoder();;
var mapOptions = {
center: new google.maps.LatLng(35.74651,-39.46289),
zoom: 2,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
// added this
var bounds = new google.maps.LatLngBounds();
// create the map
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
$.getJSON("http://search.twitter.com/search.json?q=%23euronews&rpp=10&include_entities=true&result_type=mixed&callback=?", function (data) {
$.each(data.results, function (i, item) {
var screen_name = item.screen_name;
var contentString=screen_name;
var img = item.profile_image_url;
var text=item.text;
var profile_img=item.profile_image_url;
var url=(item.entities.urls.length > 0 ? item.entities.urls[0].url : '');
// var latitude,longitude;
Placemaker.getPlaces(text,
function(o){
console.log(o);
var latitude=o.match.place.centroid.latitude,
longitude=o.match.place.centroid.longitude;
var myLatLng = new google.maps.LatLng(latitude, longitude);
var marker = new google.maps.Marker({
icon: img,
title: screen_name,
map: map,
position: myLatLng
});
var infowindow = new google.maps.InfoWindow({
content: contentString
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
bounds.extend(myLatLng);
});
});
// map.fitBounds(bounds);
});
}