Plugin init check if current page is dashboard
Nope, but you can use the {% includeJsFile %} tag to include the file(s) from your widget template. In whatever template you render in your widget's getBodyHtml() method, add this:

{% includeJsFile "https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY" %}


If you need to queue up several files, you'll need several {% includeJsFile %} tags. There's also a {% includeCssFile %}, if you need to add some external CSS, as well.