Хранить места для магазинов легко, так как это просто класс, содержащий широту и долготу. Это может быть что-то вроде этого (для получения дополнительной информации см. Руководство по Spring ):
@Entity
public class Position {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
private Long latitude;
private Long longitude;
@OneToOne
private Store store;
protected Position() {}
public Position(long latitude, longitude, Store store) {
this.latitude = latitude;
this.longitude = longitude;
this.store = store;
}
// Standard Getters and Setters
}
Используя этот объект, вы можете передать широту и долготу контроллеру MVC , который должен ввести значения в следующем фрагменте кода ( из документации Google) :
<div id="map"></div>
<script th:inline="javascript">
/*<![CDATA[*/
function initMap() {
// The location of the map
var shop = { lat: /*[[${session.shop.latitude}]]*/, lng: /*[[${session.shop.longitude}]]*/ };
var map = new google.maps.Map(
document.getElementById('map'), { zoom: 4, center: shop });
var marker = new google.maps.Marker({ position: shop, map: map });
}
/*]]>*/
</script>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>