showEnt.js 2.88 KB
function searchPlace(str, placeType) {
  switch(placeType) {
    case 'food':
      service.nearbySearch({
          location: pos,
          radius: 500,
          type: [str]
      }, callback_foods);
      break;
    case 'entertainment':
      service.nearbySearch({
          location: pos,
          radius: 500,
          type: [str]
      }, callback_entertainment);
      break;
    case 'room':
      service.nearbySearch({
          location: pos,
          radius: 500,
          type: [str]
      }, callback_rooms);
      break;
    default:
    break;
  }
}


function callback_foods(results, status) {
    if (status === google.maps.places.PlacesServiceStatus.OK) {
        for (var i = 0; i < results.length; i++) {
            putDataToDB(results[i], 'food')
            createMarker_foods(results[i]);
        }
    }
}

function callback_entertainment(results, status) {
    if (status === google.maps.places.PlacesServiceStatus.OK) {
        for (var i = 0; i < results.length; i++) {
            putDataToDB(results[i], 'entertainment')
            createMarker_entertainment(results[i]);
        }
    }
}

function callback_rooms(results, status) {
    if (status === google.maps.places.PlacesServiceStatus.OK) {
        for (var i = 0; i < results.length; i++) {
          putDataToDB(results[i], 'room')
          createMarker_rooms(results[i]);
        }
    }
}

function createMarker_foods(place) {
    var marker = new google.maps.Marker({
        map: map,
        position: place.geometry.location,
        icon : "./icons/restaurant-15.svg",
        //fillcolor : "#FF0000"
    });

    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(place.name);
        infowindow.open(map, this);
    });
}

function createMarker_entertainment(place) {
    var placeLoc = place.geometry.location;
    var marker = new google.maps.Marker({
        map: map,
        position: place.geometry.location,
        icon : "./icons/gaming-15.svg"
    });

    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(place.name);
        infowindow.open(map, this);
    });
}

function createMarker_rooms(place) {
    var placeLoc = place.geometry.location;
    var marker = new google.maps.Marker({
        map: map,
        position: place.geometry.location,
        icon : "./icons/lodging-15.svg"
    });

    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(place.name);
        infowindow.open(map, this);
    });
}

function putDataToDB(result, category1) {
  const id = result['id'];
  const place_id =result['place_id'];
  const name = result['name'];
  const address = result['vicinity'];
  let category_big = category1
  const category_small = result.types[0];
  const image = "default"
  const rating = result.rating;
  const lng = result.geometry.viewport.ea.j;
  const lat =result.geometry.viewport.la.j;