{
'key' => 'google_maps_api_key',
'section' => 'UI',
- 'description' => 'API key for google maps. This must be set for map and directions links to appear on customer pages. See <a href="https://developers.google.com/maps/documentation/javascript/get-api-key">Getting a Google Maps API Key</a>',
+ 'description' => 'API key for google maps. This must be set for map and directions links to work. See <a href="https://developers.google.com/maps/documentation/javascript/get-api-key" target="_top">Getting a Google Maps API Key</a>',
'type' => 'text',
},
<& /elements/init_overlib.html &>
-% if ( $apikey ) {
-
<& /elements/popup_link.html,
'action' => $p. 'view/map.html?'. $query,
'label' => mt('map'),
&>
% }
-% } # end if $apikey
-
<A HREF="<%$p%>view/kml.cgi?<% $query %>"><% mt('earth') |h %></A>
<%init>
--- /dev/null
+% if ($opt{'autherror'}) {
+<P STYLE="color: red;">
+There was an authentication error when loading google maps.
+Please check validity of existing key.
+</P>
+% }
+
+<P>In order to display google maps, your site administrator will need to set the
+<B>google_maps_api_key</B> setting under Configuration -> Settings. Please see the Google Maps
+<a href="https://developers.google.com/maps/documentation/javascript/get-api-key" target="_top">Get
+a Key/Authentication</a> documentation for information on acquiring a key.</P>
+
+<%init>
+my %opt = @_;
+</%init>
+% if ( $apikey ) {
+
%# the actual page
<& /elements/header-popup.html, {
title => '',#$name,
<div id="directions_panel"></div>
<div id="map_canvas"></div>
+% } else {
+<& /elements/header-popup.html &>
+<& /elements/google_maps_api_key.html &>
+% }
+
<%def .head>
% my $lat = $cgi->param('lat');
% my $lon = $cgi->param('lon');
}
</style>
-% my $conf = new FS::Conf;
-% my $apikey = $conf->config('google_maps_api_key');
<script type="text/javascript" src="https://maps.google.com/maps/api/js?v=3&key=<% $apikey %>">
</script>
});
}
+// function name specified by google maps api, special hook for auth errors
+function gm_authFailure () {
+ document.body.innerHTML =
+<% include('/elements/google_maps_api_key.html', autherror => 1) |js_string%>;
+}
+
function initialize() {
var myOptions = {
zoom: 14,
</%def>
<%shared>
my ($lat, $lon, $name, $origin);
+my $conf = new FS::Conf;
+my $apikey = $conf->config('google_maps_api_key');
</%shared>
<%init>
+% if ( $apikey ) {
+
%# the actual page
<& /elements/header-popup.html, {
title => '',#$name,
<div id="map_canvas"></div>
+% } else {
+<& /elements/header-popup.html &>
+<& /elements/google_maps_api_key.html &>
+% }
+
<%def .head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
@media print { #map_canvas { height: 500px; margin: 0; } }
</style>
-% my $conf = new FS::Conf;
-% my $apikey = $conf->config('google_maps_api_key');
<script type="text/javascript" src="https://maps.google.com/maps/api/js?v=3&key=<% $apikey %>">
</script>
var lengthLine=0;
var map;
+// function name specified by google maps api, special hook for auth errors
+function gm_authFailure () {
+ document.body.innerHTML =
+<% include('/elements/google_maps_api_key.html', autherror => 1) |js_string%>;
+}
+
+
function initialize() {
var latlng = new google.maps.LatLng(<%$lat%>, <%$lon%>);
var myOptions = {
</%def>
<%shared>
my ($lat, $lon, $name);
+my $conf = new FS::Conf;
+my $apikey = $conf->config('google_maps_api_key');
</%shared>
<%init>