Skip to content

Commit

Permalink
Merge pull request #158 from sarapis/feedback-changes
Browse files Browse the repository at this point in the history
Update map marker code and other changes
  • Loading branch information
d9it committed Mar 29, 2024
2 parents 6a81468 + 211be80 commit 1a1e3e3
Show file tree
Hide file tree
Showing 6 changed files with 290 additions and 251 deletions.
11 changes: 4 additions & 7 deletions app/Http/Controllers/backend/ImportController.php
Expand Up @@ -83,11 +83,8 @@

class ImportController extends Controller
{
public $mapController;

public function __construct(MapController $mapController)
public function __construct(public MapController $mapController)
{
$this->mapController = $mapController;
}

/**
Expand Down Expand Up @@ -211,7 +208,7 @@ public function store(Request $request)
}
ImportDataSource::create([
'name' => $request->name,
'format' => $request->format,
'format' => $request->get('format'),
'airtable_api_key' => $airtable_access_token,
'airtable_base_id' => $airtable_base_id,
'auto_sync' => $request->auto_sync,
Expand Down Expand Up @@ -369,7 +366,7 @@ public function update(Request $request, $id)
}
ImportDataSource::whereId($id)->update([
'name' => $request->name,
'format' => $request->format,
'format' => $request->get('format'),
'airtable_api_key' => $airtable_access_token,
'airtable_base_id' => $airtable_base_id,
'auto_sync' => $request->auto_sync,
Expand Down Expand Up @@ -475,7 +472,7 @@ public function getImportHistory(Request $request)
return DataTables::of($importHistory)
->editColumn('created_at', function ($row) {

return date('d-m-Y H:i:s A', strtotime($row->created_at));
return date('Y-m-d H:i:s', strtotime($row->created_at));
})
->editColumn('auto_sync', function ($row) {
$link = $row->auto_sync == 1 ? 'Auto' : 'Manual';
Expand Down
52 changes: 32 additions & 20 deletions resources/views/backEnd/pages/map.blade.php
Expand Up @@ -47,7 +47,7 @@
value="{{ '********************' . substr($map->javascript_map_key, -7) }}"
name="api_key1" id="api_key1" disabled>
<input class="form-control" type="text" value="{{ $map->javascript_map_key }}" name="javascript_map_key"
id="api_key2" style="display: none;" required>
id="api_key2" style="display: none;" >
<button type="button" id="clickChangeKey">Change</button>
@if ($errors->first('javascript_map_key'))
<div class="alert alert-danger">{{ $errors->first('javascript_map_key') }}</div>
Expand All @@ -63,7 +63,7 @@
value="{{ '********************' . substr($map->geocode_map_key, -7) }}"
name="api_key1" id="geocode_api_key1" disabled>
<input class="form-control" type="text" value="{{ $map->geocode_map_key }}" name="geocode_map_key"
id="geocode_api_key2" style="display: none;" required>
id="geocode_api_key2" style="display: none;" >
<button type="button" id="clickChangeKeyGeocode">Change</button>
@if ($errors->first('geocode_map_key'))
<div class="alert alert-danger">{{ $errors->first('geocode_map_key') }}</div>
Expand Down Expand Up @@ -333,30 +333,42 @@ class="optional form-control col-md-7 col-xs-12" value="{{$map->long}}"
var locations = <?php print_r(json_encode($map)) ?>;
let position
let zoom
if (locations.active == 1) {
var map = new GMaps({
el: '#map',
lat: locations.lat,
lng: locations.long,
zoom: locations.zoom
});
map.addMarker({
lat: locations.lat,
lng: locations.long
});
position = {
lat: parseFloat(locations.lat),
lng: parseFloat(locations.long),
}
zoom = locations.zoom
} else {
var map = new GMaps({
el: '#map',
position = {
lat: 40.712722,
lng: -74.006058,
zoom: 10
});
map.addMarker({
lat: 40.712722,
lng: -74.006058
});
}
zoom = 10
}
setTimeout(() => {
async function initMap() {
const { Map } = await google.maps.importLibrary("maps");
const { AdvancedMarkerElement, PinElement } = await google.maps.importLibrary(
"marker",
);
const map = new Map(document.getElementById("map"), {
center: position,
zoom: zoom,
mapId: "4504f8b37365c3d0",
});
const marker = new AdvancedMarkerElement({
map,
position: position,
title: location.location_name,
});
}
initMap()
}, 2000);
});
</script>
@endsection
49 changes: 30 additions & 19 deletions resources/views/frontEnd/locations/show.blade.php
Expand Up @@ -650,15 +650,19 @@ class="btn btn-raised btn-lg btn_darkblack waves-effect waves-classic">Close</bu
}
var mymap = new GMaps({
el: '#map',
lat: latitude,
lng: longitude,
zoom: zoom
});
$.each( locations, function(index, value ){
async function initMap() {
const { Map } = await google.maps.importLibrary("maps");
const { AdvancedMarkerElement, PinElement } = await google.maps.importLibrary(
"marker",
);
const map = new Map(document.getElementById("map"), {
center: { lat: parseFloat(latitude), lng: parseFloat(longitude) },
zoom: zoom,
mapId: "4504f8b37365c3d0",
});
$.each( locations, function(index, value ){
var content = '<div id="iw-container">';
for(i = 0; i < value.services.length; i ++){
content += '<div class="iw-title"> <a href="/services/'+value.services[i].service_recordid+'">'+value.services[i].service_name+'</a></div>';
Expand All @@ -678,26 +682,33 @@ class="btn btn-raised btn-lg btn_darkblack waves-effect waves-classic">Close</bu
'</div>';
if(value.location_latitude){
mymap.addMarker({
const infowindow = new google.maps.InfoWindow({
content: content,
ariaLabel: "Uluru",
});
let position = {
lat: value.location_latitude,
lng: value.location_longitude,
title: value.city,
infoWindow: {
maxWidth: 250,
content: (content)
}
}
const marker = new AdvancedMarkerElement({
map,
position: position,
title: location.location_name,
});
marker.addListener("click", () => {
infowindow.open({
anchor: marker,
map,
});
});
}
});
}
initMap()
}, 2000)
});
</script>

<!-- <script src="https://maps.googleapis.com/maps/api/js?key={{$map->javascript_map_key}}&libraries=places&callback=initMap" async
defer>
</script> -->

@endsection
115 changes: 59 additions & 56 deletions resources/views/frontEnd/organizations/show.blade.php
Expand Up @@ -505,10 +505,7 @@ class="subtitle"><b>{{ $detail['detail_type'] }}:</b></span>
<div class="tab-pane {{ ((isset($organization->services) && count($organization->services) == 0) || (count($organization->services) == 0 && $organization->getServices->count() == 0) && ($location_info_list && count($location_info_list) == 0) && ($organization->contact->count() > 0)) ? 'active' : '' }}" id="contacts">
@if (isset($organization->contact))
@if ($organization->contact->count() > 0 && ((Auth::user() && Auth::user()->roles && Auth::user()->roles->name == 'System Admin') || (Auth::user() && Auth::user()->roles && Auth::user()->user_organization && str_contains(Auth::user()->user_organization, $organization->organization_recordid) && (Auth::user()->roles->name == 'Organization Admin' || Auth::user()->roles->name == 'Section Admin')) || (Auth::user() && Auth::user()->roles->name == 'Network Admin' && count(array_intersect(explode(',', Auth::user()->organization_tags),explode(',', $organization->organization_tag))) > 0) || (Auth::user() && Auth::user()->roles && count(array_intersect(explode(',', Auth::user()->organization_tags),explode(',', $organization->organization_tag))) > 0)))
{{-- <h4 class="card_services_title"> Contacts
(@if (isset($organization->contact)){{$organization->contact->count()}}@else
0 @endif)
</h4> --}}

@foreach ($organization->contact as $contact_info)
<div class="location_border p-0">
@if (Auth::user() && Auth::user()->roles && Auth::user()->roles->name == 'System Admin')
Expand Down Expand Up @@ -611,13 +608,11 @@ class="float-right">
<!-- comment area design -->
@auth
<ul class="nav nav-tabs tabpanel_above">
{{-- @if (Auth::user() && Auth::user()->roles && (Auth::user()->roles->name != 'Organization Admin' || Auth::user()->roles->name != 'Section Admin')) --}}
<li class="nav-item">
<a class="nav-link active" data-toggle="tab" href="#interactions">
<h4 class="card_services_title">Notes</h4>
</a>
</li>
{{-- @endif --}}
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#commnets">
<h4 class="card_services_title">Comments</h4>
Expand Down Expand Up @@ -1095,65 +1090,73 @@ class="btn btn-danger btn-lg btn_delete red_btn organizationTagCloseButton">Clos
longitude = avglng;
}
var map = new google.maps.Map(document.getElementById('map'), {
zoom: zoom,
center: {
lat: parseFloat(latitude),
lng: parseFloat(longitude)
}
});
var latlongbounds = new google.maps.LatLngBounds();
var markers = locations.map(function(location, i) {
var position = {
lat: location.location_latitude,
lng: location.location_longitude
}
var latlong = new google.maps.LatLng(position.lat, position.lng);
latlongbounds.extend(latlong);
async function initMap() {
const { Map } = await google.maps.importLibrary("maps");
const { AdvancedMarkerElement, PinElement } = await google.maps.importLibrary(
"marker",
);
var content = '<div id="iw-container">';
for (i = 0; i < location.services.length; i++) {
content += '<div class="iw-title"> <a href="/services/' + location.services[i]
.service_recordid + '">' + location.services[i].service_name + '</a></div>';
}
// '<div class="iw-title"> <a href="/services/'+ location.service_recordid +'">' + location.service_name + '</a> </div>' +
const map = new Map(document.getElementById("map"), {
center: { lat: parseFloat(latitude), lng: parseFloat(longitude) },
zoom: zoom,
mapId: "4504f8b37365c3d0",
});
content += '<div class="iw-content">' +
'<div class="iw-subTitle">Organization Name</div>' +
'<a href="/organizations/' + location.organization_recordid + '">' + location
.organization_name + '</a>';
// '<div class="iw-subTitle">Address</div>' +
// location.address_name ;
// '<br> <a href="https://www.google.com/maps/dir/?api=1&destination=' + location.address_name + '" target="_blank">View on Google Maps</a>'+
var latlongbounds = new google.maps.LatLngBounds();
var markers = locations.map(function(location, i) {
var position = {
lat: location.location_latitude,
lng: location.location_longitude
}
var latlong = new google.maps.LatLng(position.lat, position.lng);
latlongbounds.extend(latlong);
if (location.address) {
for (i = 0; i < location.address.length; i++) {
content += '<div class="iw-subTitle">Address</div>' + location.address[i].address_1 + (location.address[i].address_city ? ', ' + location.address[i].address_city : '') + (location.address[i].address_state_province ? ',' + location.address[i].address_state_province : '') + (location.address[i].address_postal_code ? ',' + location.address[i].address_postal_code : '');
content +='<div><a href="https://www.google.com/maps/dir/?api=1&destination=' + location.address[i].address_1 + (location.address[i].address_city ? ', ' + location.address[i].address_city : '') + (location.address[i].address_state_province ? ',' + location.address[i].address_state_province : '') + (location.address[i].address_postal_code ? ',' + location.address[i].address_postal_code : '') + '" target="_blank">View on Google Maps</a></div>';
var content = '<div id="iw-container">';
for (i = 0; i < location.services.length; i++) {
content += '<div class="iw-title"> <a href="/services/' + location.services[i]
.service_recordid + '">' + location.services[i].service_name + '</a></div>';
}
}
content += '</div><div class="iw-bottom-gradient"></div>' +
'</div>';
// '<div class="iw-title"> <a href="/services/'+ location.service_recordid +'">' + location.service_name + '</a> </div>' +
var infowindow = new google.maps.InfoWindow({
content: content
});
content += '<div class="iw-content">' +
'<div class="iw-subTitle">Organization Name</div>' +
'<a href="/organizations/' + location.organization_recordid + '">' + location
.organization_name + '</a>';
// '<div class="iw-subTitle">Address</div>' +
// location.address_name ;
// '<br> <a href="https://www.google.com/maps/dir/?api=1&destination=' + location.address_name + '" target="_blank">View on Google Maps</a>'+
var marker = new google.maps.Marker({
position: position,
map: map,
title: location.location_name,
});
marker.addListener('click', function() {
infowindow.open(map, marker);
if (location.address) {
for (i = 0; i < location.address.length; i++) {
content += '<div class="iw-subTitle">Address</div>' + location.address[i].address_1 + (location.address[i].address_city ? ', ' + location.address[i].address_city : '') + (location.address[i].address_state_province ? ',' + location.address[i].address_state_province : '') + (location.address[i].address_postal_code ? ',' + location.address[i].address_postal_code : '');
content +='<div><a href="https://www.google.com/maps/dir/?api=1&destination=' + location.address[i].address_1 + (location.address[i].address_city ? ', ' + location.address[i].address_city : '') + (location.address[i].address_state_province ? ',' + location.address[i].address_state_province : '') + (location.address[i].address_postal_code ? ',' + location.address[i].address_postal_code : '') + '" target="_blank">View on Google Maps</a></div>';
}
}
content += '</div><div class="iw-bottom-gradient"></div>' +
'</div>';
const infowindow = new google.maps.InfoWindow({
content: content,
ariaLabel: "Uluru",
});
const marker = new AdvancedMarkerElement({
map,
position: position,
title: location.location_name,
});
marker.addListener("click", () => {
infowindow.open({
anchor: marker,
map,
});
});
});
return marker;
});
if (locations.length > 1) {
map.fitBounds(latlongbounds);
if (locations.length > 1) {
map.fitBounds(latlongbounds);
}
}
initMap()
});
Expand Down

0 comments on commit 1a1e3e3

Please sign in to comment.