//
var map = null;
var markers = [];
var infowindow = [];
var markerinfo = [];

var myicon = [
    null,
    new google.maps.MarkerImage('img/marker/marker_green.png',
        new google.maps.Size(20, 34),
        new google.maps.Point(0, 0),
        new google.maps.Point(10, 31)),
    new google.maps.MarkerImage('img/marker/marker_orange.png',
        new google.maps.Size(20, 34),
        new google.maps.Point(0, 0),
        new google.maps.Point(10, 31)),
    new google.maps.MarkerImage('img/marker/marker_white.png',
        new google.maps.Size(20, 34),
        new google.maps.Point(0, 0),
        new google.maps.Point(10, 31)),
    new google.maps.MarkerImage('img/marker/marker_purple.png',
        new google.maps.Size(20, 34),
        new google.maps.Point(0, 0),
        new google.maps.Point(10, 31)),
    new google.maps.MarkerImage('img/marker/marker_brown.png',
        new google.maps.Size(20, 34),
        new google.maps.Point(0, 0),
        new google.maps.Point(10, 31)),
    new google.maps.MarkerImage('img/marker/marker_blue.png',
        new google.maps.Size(20, 34),
        new google.maps.Point(0, 0),
        new google.maps.Point(10, 31)),
    new google.maps.MarkerImage('img/marker/marker_red.png',
        new google.maps.Size(20, 34),
        new google.maps.Point(0, 0),
        new google.maps.Point(10, 31)),
    new google.maps.MarkerImage('img/marker/marker_yellow.png',
        new google.maps.Size(20, 34),
        new google.maps.Point(0, 0),
        new google.maps.Point(10, 31)),
    new google.maps.MarkerImage('img/marker/marker_gray.png',
        new google.maps.Size(20, 34),
        new google.maps.Point(0, 0),
        new google.maps.Point(10, 31)),
    new google.maps.MarkerImage('img/marker/marker_ltblue.png',
        new google.maps.Size(20, 34),
        new google.maps.Point(0, 0),
        new google.maps.Point(10, 31))
];

var myshadow = new google.maps.MarkerImage('img/marker/shadow.png',
        new google.maps.Size(59, 32),
        new google.maps.Point(0, 0),
        new google.maps.Point(15, 29));


function loadMap(){
    var latlng = new google.maps.LatLng(38, 137);
    var myOptions = {
      zoom: 5,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      scrollwheel: false
    };

    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    $.ajax({
        type: 'POST',
        url: 'record/getmapdata',
        cache: false,
        dataType: 'json',
        success: function(data){
            var bounds = new google.maps.LatLngBounds();
            $.each(data, function() {
                var pos = new google.maps.LatLng(this.Record.latitude, this.Record.longitude);
                ////var txt = '['+ this.Classification.name + '] ' + this.Record.species_name + '<br />'; //分類名あり
                var txt = this.Record.species_name + '<br />';
                txt += this.Pref.name + this.Record.place;
                if (this.Record.image_name) {
                    txt += '<br /><img src="images/record/'+ this.Record.article_id +'/thumb_'+ this.Record.image_name +'" />';
                }
                placeMarker(pos, this.Record.class_id, txt);
                bounds.extend(pos);
            });
            if (data.length > 0) {
                map.fitBounds(bounds);
            }
        }
    });

    return;
}

function placeMarker(location, class_id, infotext) {
    var i = markers.length;

    markers[i] = new google.maps.Marker({
        icon: myicon[class_id],
        shadow: myshadow,
        position: location,
        draggable: false,
        map: map
    });

    markerinfo[i] = location;

    infowindow[i] = new google.maps.InfoWindow({
        content:  infotext,
        position: location,
        maxWidth: 80
    });

    // マーカークリックで吹き出し表示
    google.maps.event.addListener(markers[i], "click", function(event) {
        infowindow[i].open(map, markers[i]);
    });
}

