www.plugshare.com
Open in
urlscan Pro
2606:4700::6812:7863
Public Scan
Submitted URL: http://plugshare.com/
Effective URL: https://www.plugshare.com/
Submission: On June 06 via manual from US — Scanned from DE
Effective URL: https://www.plugshare.com/
Submission: On June 06 via manual from US — Scanned from DE
Form analysis
3 forms found in the DOM<form ng-submit="$event.preventDefault()" id="search" ng-controller="SearchController" ng-show="!maps.streetViewMode" class="ng-pristine ng-scope ng-valid-minlength ng-valid-maxlength ng-valid ng-valid-required" aria-hidden="false">
<!-- ngIf: !(maps.search_focused && maps.mobile && maps.searchHistory.length) --><button class="md-button ng-scope md-ink-ripple open" type="button" ng-transclude="" id="menu-button" ng-click="maps.toggleMenu('menu')"
ng-class="{open: maps.menu.menu}" ng-if="!(maps.search_focused && maps.mobile && maps.searchHistory.length)"><md-icon ng-show="!maps.menu.menu && embed" class="ng-scope material-icons ng-hide" role="img"
aria-label="help_outline" aria-hidden="true">help_outline</md-icon><md-icon ng-show="!maps.menu.menu && !embed" class="ng-scope material-icons ng-hide" role="img" aria-label="menu" aria-hidden="true">menu</md-icon><md-icon
ng-show="maps.menu.menu" class="ng-scope material-icons" role="img" aria-label="close"
aria-hidden="false">close</md-icon></button><!-- end ngIf: !(maps.search_focused && maps.mobile && maps.searchHistory.length) --><!-- ngIf: maps.search_focused && maps.mobile && maps.searchHistory.length --><md-autocomplete
id="search-autocomplete" md-delay="750" md-no-cache="true" md-autoselect="false" md-selected-item="maps.selectedItem" md-search-text-change="maps.searchTextChange(maps.searchText)" md-search-text="maps.searchText"
md-selected-item-change="maps.selectedItemChange(item)" md-items="item in maps.querySearch(maps.searchText)" md-item-text="item.display" md-min-length="1" placeholder="Search for a Charging Location" autofocus="" tabindex="-1"
class="ng-isolate-scope"> <md-autocomplete-wrap ng-class="{ 'md-whiteframe-z1': !floatingLabel, 'md-menu-showing': !$mdAutocompleteCtrl.hidden, 'md-show-clear-button': !!clearButton }"
class="md-whiteframe-z1 md-show-clear-button"> <!-- ngIf: !floatingLabel --><input type="search" id="input-0" name="" ng-if="!floatingLabel" autocomplete="off" ng-required="$mdAutocompleteCtrl.isRequired"
ng-disabled="$mdAutocompleteCtrl.isDisabled" ng-readonly="$mdAutocompleteCtrl.isReadonly" ng-model="$mdAutocompleteCtrl.scope.searchText" ng-keydown="$mdAutocompleteCtrl.keydown($event)" ng-blur="$mdAutocompleteCtrl.blur($event)"
ng-focus="$mdAutocompleteCtrl.focus($event)" placeholder="Search for a Charging Location" aria-owns="ul-0" aria-label="Search for a Charging Location" aria-autocomplete="list" role="combobox" aria-haspopup="true" aria-activedescendant=""
aria-expanded="false" class="ng-pristine ng-untouched ng-scope ng-empty ng-valid-minlength ng-valid-maxlength ng-valid ng-valid-required" aria-invalid="false" autocorrect="off" autocapitalize="off"
spellcheck="false"><!-- end ngIf: !floatingLabel --> <!-- ngIf: clearButton && $mdAutocompleteCtrl.scope.searchText --> <!-- ngIf: $mdAutocompleteCtrl.loadingIsVisible() --> </md-autocomplete-wrap></md-autocomplete><md-icon id="search-button"
ng-class="{content: maps.searchText.length > 0}" ng-show="maps.initialized" class="material-icons" role="img" aria-label="search" aria-hidden="false" style="">search</md-icon></form>
Name: maps.plannerForm —
<form name="maps.plannerForm" id="planner-form" novalidate="" class="ng-pristine ng-valid ng-valid-maxlength">
<div class="header">
<div class="title ng-binding">Trip Planner
<a href="https://help.plugshare.com/hc/en-us/articles/4418958326163-Trip-Planner-Guide-Tips" target="_blank" title="Trip Planner Guide & Tips"><md-icon class="help material-icons" role="img" aria-label="help_outline">help_outline</md-icon></a><span
class="readonly ng-binding ng-hide" ng-click="maps.readOnlyHelp()" ng-show="mobilePlanner" title="Mobile is read only. Use computer to create and edit trips" role="button" tabindex="0" aria-hidden="true">READ ONLY</span></div><md-icon
ng-click="maps.closePlanner()" aria-label="cancel" aria-hidden="Close trip planner" role="button" tabindex="0" class="material-icons">close</md-icon>
</div>
<div id="loading" ng-show="maps.router.loading" aria-hidden="true" class="ng-hide"><md-progress-circular md-mode="indeterminate" md-diameter="30px" aria-valuemin="0" aria-valuemax="100" role="progressbar"
class="ng-isolate-scope md-mode-indeterminate" style="width: 30px; height: 30px;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30" style="width: 30px; height: 30px; transform-origin: 15px 15px 15px;">
<path fill="none" stroke-width="3" stroke-linecap="square" d="M15,1.5A13.5,13.5 0 1 1 1.5,15" stroke-dasharray="63.61725123519331" stroke-dashoffset="64.4693254865895" transform="rotate(0 15 15)"></path>
</svg></md-progress-circular>
<div class="load ng-binding">Loading...</div>
</div>
<div id="routing" ng-show="!maps.router.loading" aria-hidden="false" class="">
<div id="trip-name" ng-class="{mobilePlanner: mobilePlanner}" ng-show="maps.router.showTitle" aria-hidden="true" class="ng-hide"><md-input-container class="md-block responsive md-input-has-placeholder flex-gt-xs" ng-show="!mobilePlanner"
flex-gt-xs="" aria-hidden="false"><label class="ng-binding" for="input_1">Trip Name</label><input type="text" name="trip_name" ng-model="maps.router.name" placeholder="Untitled Trip" maxlength="100"
class="ng-pristine ng-untouched ng-valid md-input ng-empty ng-valid-maxlength" id="input_1" aria-invalid="false">
<div class="md-errors-spacer"></div>
</md-input-container><md-icon ng-click="maps.reverseTrip()" ng-show="!mobilePlanner" class="reverse material-icons" title="Reverse Trip Order" role="button" tabindex="0" aria-label="swap_vert" aria-hidden="false">swap_vert</md-icon>
<div class="mobileTitle ng-binding ng-hide" ng-show="mobilePlanner" aria-hidden="true"></div>
</div>
<div id="path" ng-class="{mobilePlanner: mobilePlanner}">
<div class="start ng-binding">Start</div>
<div class="waypoints ng-pristine ng-untouched ng-valid ng-isolate-scope ui-sortable ng-not-empty" ng-class="{mobilePlanner: mobilePlanner}" ui-sortable="sortableOptions" ng-model="maps.router.waypoints" aria-invalid="false">
<!-- ngRepeat: waypoint in maps.router.waypoints --></div>
<div id="total-distance" ng-show="directions" aria-hidden="true" class="ng-hide"><span class="total distance" ng-click="maps.toggleUnits()" ng-attr-title="{{ maps.router.waypoints[maps.router.waypoints.length - 1].distanceMessage }}"
role="button" tabindex="0"><span class="ng-binding">Total Distance:</span> <span class="ng-binding"></span> <span ng-show="!maps.metric" class="ng-binding ng-hide" aria-hidden="true" style="">mi</span> <span ng-show="maps.metric"
class="ng-binding" aria-hidden="false" style="">km</span> </span><span class="duration"><span class="ng-binding">About</span> <span ng-show="maps.router.waypoints[maps.router.waypoints.length - 1].durationHours" class="ng-binding ng-hide"
aria-hidden="true"> hours</span> <span ng-show="maps.router.waypoints[maps.router.waypoints.length - 1].durationMinutes" class="ng-binding ng-hide" aria-hidden="true"> mins</span></span></div>
<div id="total-time" ng-show="maps.router.wait && directions" aria-hidden="true" class="ng-hide"><span class="label ng-binding">Total Time Including Waiting:</span> <span class="ng-binding">About</span> <span
ng-show="maps.router.totalDurationHours" class="ng-binding ng-hide" aria-hidden="true"> hours</span> <span ng-show="maps.router.totalDurationMinutes" class="ng-binding ng-hide" aria-hidden="true"> mins</span></div>
<div class="distance-warning ng-hide" ng-show="range.visible && maps.router.showWarning && maps.router.dangerousSegments > 0 && directions" aria-hidden="true"><span class="bold ng-binding">Warning:</span> <span
translate="Segments of your trip" translate-value-number="" class="ng-scope"> segments of your trip have 'total distance between two charging locations' greater than your 'max range estimate' (shown above in red). We recommend adding
additional charging location(s) in between.</span></div>
<div id="actions" ng-show="directions && !mobilePlanner" aria-hidden="true" class="ng-hide">
<div class="action" ng-click="maps.routeTrip(true)" title="Recenter the map on all your stops" role="button" tabindex="0"><md-icon class="material-icons" role="img" aria-label="aspect_ratio">aspect_ratio</md-icon>
<div class="label cs"><!-- ngIf: directions --> <!-- ngIf: !directions --><span ng-if="!directions" class="ng-binding ng-scope">Map</span><!-- end ngIf: !directions --></div>
</div>
<div class="action" ng-click="maps.toggleComplete()" ng-class="{overview: tripComplete}" title="Toggle overview mode of all stops" role="button" tabindex="0"><md-icon class="material-icons" role="img" aria-label="flag">flag</md-icon>
<div class="label es ro ng-binding">Overview</div>
</div>
<div class="action" ng-click="maps.showPath()" title="View elevation data of your trip" role="button" tabindex="0"><md-icon class="material-icons" role="img" aria-label="landscape">landscape</md-icon>
<div class="label cs hr ng-binding">Elevation</div>
</div>
<div class="action" ng-click="maps.saveTrip()" title="Save your trip" role="button" tabindex="0"><md-icon class="material-icons" role="img" aria-label="save">save</md-icon>
<div class="label ng-binding">Save</div>
</div>
</div>
<div id="directions-panel"></div>
</div>
</div>
<div id="route" ng-show="!directions && !maps.router.loading" aria-hidden="false" class=""><button class="md-primary md-raised submit md-button md-ink-ripple" type="submit" ng-transclude="" ng-click="maps.routeTrip(true)"><span
class="ng-binding ng-scope">Search</span></button></div>
<div id="results">
<div class="custom-results ng-hide" ng-show="maps.route_show_results && maps.route_search_focused" aria-hidden="true"><!-- ngRepeat: item in maps.route_search_results track by $index --><md-menu-item class="no-result ng-hide"
ng-attr-title="No locations matching "{{maps.route_last_query}}" were found." ng-show="maps.route_last_query && maps.route_search_results.length === 0" role="menuitem" title="No locations matching "" were found."
aria-hidden="true">
<div class="details"><span translate="No locations matching searchText were found" translate-value-searcg="" class="ng-scope">No locations matching were found.</span></div>
</md-menu-item></div>
</div>
<div id="directions">
<div class="headlink ng-hide" ng-show="directions" aria-hidden="true">
<a ng-href="" target="_blank" ng-show="maps.routeLink" title="View on Google Maps" aria-hidden="true" class="ng-hide"><img src="https://assets.plugshare.com/assets/GoogleMaps.svg" class="gmaps"><div class="title ng-binding">View Directions</div><md-icon class="material-icons" role="img" aria-label="open_in_new">open_in_new</md-icon></a>
</div>
</div>
<div id="options">
<div class="title ng-binding">Options</div>
<div class="along"><md-checkbox class="md-primary ng-pristine ng-untouched ng-valid ng-not-empty md-checked" ng-model="maps.router.along" ng-change="maps.toggleAlong()" aria-label="Show along route" tabindex="0" type="checkbox" role="checkbox"
aria-checked="true" aria-invalid="false">
<div class="md-container md-ink-ripple" md-ink-ripple="" md-ink-ripple-checkbox="">
<div class="md-icon"></div>
</div>
<div ng-transclude="" class="md-label"><span class="ng-binding ng-scope">Show Along Route Only</span></div>
</md-checkbox>
<div class="display" ng-class="{inactive: !maps.router.along}"><span class="label ng-binding">Search Radius:</span> <span class="toggle ng-binding ng-hide" ng-show="!maps.metric" ng-click="maps.toggleUnits()" title="Change units to metric"
role="button" tabindex="0" aria-hidden="true" style="">2 miles</span> <span class="toggle ng-binding" ng-show="maps.metric" ng-click="maps.toggleUnits()" title="Change units to imperial" role="button" tabindex="0" aria-hidden="false"
style="">3.2 kilometers</span> <button class="units" ng-click="maps.toggleUnits()" title="Toggle units between metric and imperial"><!-- ngIf: maps.metric --><span ng-if="maps.metric" class="ng-binding ng-scope"
style="">Metric</span><!-- end ngIf: maps.metric --> <!-- ngIf: !maps.metric --></button></div><md-slider flex="" id="radius-slider" class="slider md-primary ng-pristine ng-untouched ng-valid ng-isolate-scope flex ng-not-empty"
ng-class="{inactive: !maps.router.along}" ng-model="maps.router.radius" step="1" min="1" max="25" aria-label="search radius" aria-valuemin="1" aria-valuenow="2" aria-valuemax="25" aria-invalid="false">
<div class="md-slider-wrapper" tabindex="0" role="slider" style="touch-action: pan-y;">
<div class="md-slider-content">
<div class="md-track-container">
<div class="md-track"></div>
<div class="md-track md-track-fill" style="width: 4.16667%;"></div>
<div class="md-track-ticks"></div>
</div>
<div class="md-thumb-container" style="left: 4.16667%;">
<div class="md-thumb"></div>
<div class="md-focus-thumb"></div>
<div class="md-focus-ring"></div>
<div class="md-sign"><span class="md-thumb-text">2</span></div>
<div class="md-disabled-thumb"></div>
</div>
</div>
</div>
</md-slider>
</div>
<div class="range"><md-checkbox class="md-primary ng-pristine ng-untouched ng-valid ng-not-empty md-checked" ng-model="range.visible" ng-change="maps.toggleRange()" aria-label="Show range estimator rings" tabindex="0" type="checkbox"
role="checkbox" aria-checked="true" aria-invalid="false">
<div class="md-container md-ink-ripple" md-ink-ripple="" md-ink-ripple-checkbox="">
<div class="md-icon"></div>
</div>
<div ng-transclude="" class="md-label"><span class="ng-binding ng-scope">Show Range Estimate</span></div>
</md-checkbox>
<div class="main">
<div class="display" ng-class="{inactive: !range.visible}">
<div><span class="label ng-binding">Estimated Max Range:</span> <span class="toggle ng-binding ng-hide" ng-show="!maps.metric" ng-click="maps.toggleUnits()" title="Change units to metric" role="button" tabindex="0" aria-hidden="true"
style="">100 miles</span> <span class="toggle ng-binding" ng-show="maps.metric" ng-click="maps.toggleUnits()" title="Change units to imperial" role="button" tabindex="0" aria-hidden="false" style="">160.9 kilometers</span></div><button
class="reset ng-hide" ng-click="maps.setVehicleRange()" ng-show="range.vehicle" ng-disabled="range.vehicle == range.max" title="Reset range to vehicle estimate" aria-hidden="true"><md-icon class="material-icons" role="img"
aria-label="refresh">refresh</md-icon></button>
</div><md-slider flex="" class="slider md-primary ng-pristine ng-untouched ng-valid ng-isolate-scope flex ng-empty" ng-class="{inactive: !range.visible}" ng-model="range.max" step="1" min="1" max="150" aria-label="max range circle"
aria-valuemin="1" aria-valuenow="100" aria-valuemax="150" aria-invalid="false">
<div class="md-slider-wrapper" tabindex="0" role="slider" style="touch-action: pan-y;">
<div class="md-slider-content">
<div class="md-track-container">
<div class="md-track"></div>
<div class="md-track md-track-fill" style="width: 66.443%;"></div>
<div class="md-track-ticks"></div>
</div>
<div class="md-thumb-container" style="left: 66.443%;">
<div class="md-thumb"></div>
<div class="md-focus-thumb"></div>
<div class="md-focus-ring"></div>
<div class="md-sign"><span class="md-thumb-text">100</span></div>
<div class="md-disabled-thumb"></div>
</div>
</div>
</div>
</md-slider>
<div class="info ng-binding" ng-show="range.visible" aria-hidden="false">The circle does not account for pathing, elevation, road or weather conditions. Please plan accordingly.</div>
</div>
</div>
<div class="wait"><md-checkbox class="md-primary ng-pristine ng-untouched ng-valid ng-empty" ng-model="maps.router.wait" ng-change="maps.toggleWait()" aria-label="Add wait times" tabindex="0" type="checkbox" role="checkbox" aria-checked="false"
aria-invalid="false">
<div class="md-container md-ink-ripple" md-ink-ripple="" md-ink-ripple-checkbox="">
<div class="md-icon"></div>
</div>
<div ng-transclude="" class="md-label"><span class="ng-binding ng-scope">Add Wait Times</span></div>
</md-checkbox>
<div class="details ng-hide" ng-show="maps.router.wait" aria-hidden="true">
<div class="info ng-binding">Define your own wait / charge times at each stop.<br>Customizable up top, between each added stop.</div>
<div class="display"><span class="label ng-binding">Total Wait Time:</span> <span ng-show="maps.router.totalWaitHours != null" class="ng-binding ng-hide" aria-hidden="true"> hours</span> <span ng-show="maps.router.totalWaitMinutes != null"
class="ng-binding ng-hide" aria-hidden="true"> mins</span></div>
</div>
</div>
<div class="avoid"><md-checkbox class="md-primary ng-pristine ng-untouched ng-valid ng-empty" ng-model="maps.router.tolls" ng-change="maps.toggleAvoid('tolls')" aria-label="Avoid tolls" tabindex="0" type="checkbox" role="checkbox"
aria-checked="false" aria-invalid="false">
<div class="md-container md-ink-ripple" md-ink-ripple="" md-ink-ripple-checkbox="">
<div class="md-icon"></div>
</div>
<div ng-transclude="" class="md-label"><span class="ng-binding ng-scope">Avoid Tolls</span></div>
</md-checkbox><md-checkbox class="md-primary ng-pristine ng-untouched ng-valid ng-empty" ng-model="maps.router.highways" ng-change="maps.toggleAvoid('highways')" aria-label="Avoid highways" tabindex="0" type="checkbox" role="checkbox"
aria-checked="false" aria-invalid="false">
<div class="md-container md-ink-ripple" md-ink-ripple="" md-ink-ripple-checkbox="">
<div class="md-icon"></div>
</div>
<div ng-transclude="" class="md-label"><span class="ng-binding ng-scope">Avoid Highways</span></div>
</md-checkbox><md-checkbox class="md-primary ng-pristine ng-untouched ng-valid ng-empty" ng-model="maps.router.ferries" ng-change="maps.toggleAvoid('ferries')" aria-label="Avoid ferries" tabindex="0" type="checkbox" role="checkbox"
aria-checked="false" aria-invalid="false">
<div class="md-container md-ink-ripple" md-ink-ripple="" md-ink-ripple-checkbox="">
<div class="md-icon"></div>
</div>
<div ng-transclude="" class="md-label"><span class="ng-binding ng-scope">Avoid Ferries</span></div>
</md-checkbox></div>
<div class="filters">
<div class="title ng-binding">Filters</div>
<div class="power ng-hide" ng-show="maps.dcfc() && maps.localization.name == 'US'" aria-hidden="true">
<div class="main">
<div class="display"><span class="label ng-binding">Minimum Power:</span> <span class="ng-binding">0 kW</span></div><md-slider
class="levels slider thick green md-primary ng-pristine ng-untouched ng-valid ng-isolate-scope md-min ng-not-empty" ng-model="maps.powerLevel" min="0" max="4" ng-change="maps.updatePower()" aria-label="power-level" aria-valuemin="0"
aria-valuenow="0" aria-valuemax="4" aria-invalid="false" style="">
<div class="md-slider-wrapper" tabindex="0" role="slider" style="touch-action: pan-y;">
<div class="md-slider-content">
<div class="md-track-container">
<div class="md-track"></div>
<div class="md-track md-track-fill" style="width: 0%;"></div>
<div class="md-track-ticks"></div>
</div>
<div class="md-thumb-container" style="left: 0%;">
<div class="md-thumb"></div>
<div class="md-focus-thumb"></div>
<div class="md-focus-ring"></div>
<div class="md-sign"><span class="md-thumb-text">0</span></div>
<div class="md-disabled-thumb"></div>
</div>
</div>
</div>
</md-slider>
</div>
</div><md-checkbox class="md-primary" name="maps.filters.amenities[]" value="1" ng-checked="maps.filters.amenities.indexOf(1) > -1" ng-click="maps.toggleAmenities(1)" aria-label="Hotel/Lodging" tabindex="0" type="checkbox" role="checkbox"
aria-checked="false">
<div class="md-container md-ink-ripple" md-ink-ripple="" md-ink-ripple-checkbox="">
<div class="md-icon"></div>
</div>
<div ng-transclude="" class="md-label"><span class="ng-binding ng-scope">Hotel/Lodging</span></div>
</md-checkbox>
<div class="settings" ng-click="maps.helper('filters')" role="button" tabindex="0"><md-icon class="material-icons" role="img" aria-label="settings">settings</md-icon><span class="label ng-binding">Plugs, Networks, Amenities, PlugScore,
etc.</span></div>
</div>
</div>
</form>
Name: maps.authForm —
<form name="maps.authForm" id="auth-form" ng-class="{padbottom: (maps.auth.type == 'register' && !maps.auth.mode) || (maps.auth.type == 'login' && maps.auth.mode != 'code')}" novalidate=""
class="ng-pristine padbottom ng-invalid ng-invalid-required ng-valid-email" style=""><!-- ngIf: maps.auth.mode == 'link' --><!-- ngIf: maps.auth.mode != 'link' --><md-content class="form-section layout-padding ng-scope _md layout-gt-sm-row"
ng-if="maps.auth.mode != 'link'" layout-gt-sm="row" layout-padding="" style=""><!-- ngIf: maps.auth.type == 'register' && !maps.auth.mode --><md-input-container class="md-block form-title non-tabs ng-scope flex-gt-xs"
ng-if="maps.auth.type == 'register' && !maps.auth.mode" flex-gt-xs="">
<h2 class="form-title-text ng-binding">Register</h2>
</md-input-container><!-- end ngIf: maps.auth.type == 'register' && !maps.auth.mode --><!-- ngIf: (maps.auth.type == 'register' || maps.auth.type == 'change') && maps.auth.mode == 'verify' --><!-- ngIf: maps.auth.type == 'register' && maps.auth.mode == 'complete' --><!-- ngIf: maps.auth.type == 'login' --><!-- ngIf: !maps.auth.mode --><md-input-container
class="md-block form-title tabs ng-scope flex-gt-xs" ng-if="!maps.auth.mode" flex-gt-xs="">
<h2 class="form-title-text register ng-binding active" ng-class="{active: maps.auth.type == 'register' && !maps.auth.mode}" ng-click="maps.showRegister($event)" role="button" tabindex="0">Register</h2>
<h2 class="form-title-text login ng-binding" ng-class="{active: maps.auth.type == 'login'}" ng-click="maps.showLogin($event)" role="button" tabindex="0">Login</h2>
</md-input-container><!-- end ngIf: !maps.auth.mode --><!-- ngIf: maps.auth.type == 'change_password' --><!-- ngIf: maps.auth.type == 'delete_account' --><!-- ngIf: maps.auth.type == 'change' && maps.auth.mode == 'complete' -->
<div class="error ng-binding ng-hide" ng-show="maps.auth.error" aria-hidden="true"></div>
<div class="tip ng-binding ng-hide" ng-show="maps.auth.tip" aria-hidden="true"></div><!-- ngIf: maps.auth.type == 'register' && !maps.auth.mode -->
<div class="mobile-register-header ng-binding ng-scope" ng-if="maps.auth.type == 'register' && !maps.auth.mode">Joining PlugShare is Fast and Free</div>
<!-- end ngIf: maps.auth.type == 'register' && !maps.auth.mode --><!-- ngIf: maps.auth.type == 'register' && !maps.auth.mode -->
<div class="terms noselect ng-scope" ng-if="maps.auth.type == 'register' && !maps.auth.mode"><span class="continuing ng-binding">By continuing you agree to our:</span>
<a onmousedown="window.open('https://company.plugshare.com/privacy.html','_blank');return false" class="bold-link ng-binding">Privacy Policy</a> &
<a onmousedown="window.open('https://company.plugshare.com/terms.html','_blank');return false" class="bold-link ng-binding">Terms of Use</a></div>
<!-- end ngIf: maps.auth.type == 'register' && !maps.auth.mode --><!-- ngIf: !maps.auth.mode && maps.auth.mode != 'code' && !maps.auth.hideSocial -->
<div class="social-container ng-scope" ng-if="!maps.auth.mode && maps.auth.mode != 'code' && !maps.auth.hideSocial">
<div class="methods"><!-- ngIf: !maps.auth.mode -->
<div class="social-signin google ng-scope" ng-class="{mobileHide: maps.auth.continueWithEmail && maps.auth.type == 'register', disabled: maps.auth.processing}" ng-click="maps.socialSignIn('Google')" ng-if="!maps.auth.mode"
role="button" tabindex="0">
<div class="icon-container"><img src="https://assets.plugshare.com/assets/google-icon.png" class="icon"></div><span translate="Continue with" translate-value-social="Google" class="text ng-scope">Continue with Google</span>
</div><!-- end ngIf: !maps.auth.mode --><!-- ngIf: !maps.auth.mode -->
<div class="social-signin apple ng-scope" ng-class="{mobileHide: maps.auth.continueWithEmail && maps.auth.type == 'register', disabled: maps.auth.processing}" ng-click="maps.socialSignIn('SignInWithApple')" ng-if="!maps.auth.mode"
role="button" tabindex="0">
<div class="icon-container"><img src="https://assets.plugshare.com/assets/apple-icon.png" class="icon"></div><span translate="Continue with" translate-value-social="Apple" class="text ng-scope">Continue with Apple</span>
</div><!-- end ngIf: !maps.auth.mode --><!-- ngIf: maps.auth.type == 'register' && !maps.auth.mode && !maps.auth.continueWithEmail -->
<div class="social-signin email ng-scope" ng-class="{disabled: maps.auth.processing}" ng-click="maps.viewContinueEmail()" ng-if="maps.auth.type == 'register' && !maps.auth.mode && !maps.auth.continueWithEmail" role="button"
tabindex="0">
<div class="icon-container"><md-icon class="material-icons" role="img" aria-label="email">email</md-icon></div><span translate="Continue with" translate-value-social="Email" class="text ng-scope">Continue with Email</span>
</div><!-- end ngIf: maps.auth.type == 'register' && !maps.auth.mode && !maps.auth.continueWithEmail -->
</div>
<div class="other-choice mobileHide" ng-class="{mobileHide: maps.auth.type == 'register'}">
<div class="bar"></div>
<div class="or ng-binding">or continue with email</div>
</div>
</div><!-- end ngIf: !maps.auth.mode && maps.auth.mode != 'code' && !maps.auth.hideSocial -->
<div class="social-auth ng-hide" ng-show="maps.auth.type == 'register' && maps.auth.mode == 'complete' && maps.socialProvider" aria-hidden="true"><img src="https://assets.plugshare.com/assets/google-icon.png"
ng-show="maps.socialProvider == 'Google'" aria-hidden="true" class="ng-hide"><img src="https://assets.plugshare.com/assets/apple-icon.png" ng-show="maps.socialProvider == 'SignInWithApple'" aria-hidden="true" class="ng-hide"> <span
translate="You are authenticated with" translate-value-social="" class="ng-scope">You are authenticated with </span></div>
<!-- ngIf: maps.auth.type == 'delete_account' && !maps.socialProvider --><!-- ngIf: maps.auth.type == 'register' --><md-input-container class="md-block first ng-scope mobileHide flex-gt-xs md-input-focused"
ng-class="{mobileHide: !maps.auth.continueWithEmail}" flex-gt-xs="" ng-if="maps.auth.type == 'register'"><label class="ng-binding md-required" for="email">Email</label><input type="email" id="email" name="email" ng-model="maps.auth.email"
autocomplete="email" ng-disabled="maps.auth.processing || maps.auth.mode" ng-class="{noedit: maps.auth.mode}" required="" class="ng-pristine ng-untouched md-input ng-empty ng-invalid ng-invalid-required ng-valid-email" aria-invalid="true">
<div class="md-errors-spacer"></div>
<div ng-messages="maps.authForm.email.$error" role="alert" multiple="" class="md-input-messages-animation md-auto-hide ng-active" aria-live="assertive"><!-- ngMessage: required -->
<div ng-message="required" class="md-input-message-animation ng-binding ng-scope">Please enter a value for this field.</div><!-- ngMessage: email -->
</div>
</md-input-container><!-- end ngIf: maps.auth.type == 'register' --><!-- ngIf: maps.auth.type == 'register' && !maps.auth.mode --><md-input-container class="md-block ng-scope mobileHide flex-gt-xs"
ng-class="{mobileHide: !maps.auth.continueWithEmail}" flex-gt-xs="" ng-if="maps.auth.type == 'register' && !maps.auth.mode"><label class="policy ng-binding md-required" for="input_255">Password</label><input type="password"
name="password" ng-model="maps.auth.password" autocomplete="new-password" ng-keyup="maps.passwordCheck(maps.auth.password, 'authForm')" ng-blur="maps.passwordHint = false" ng-disabled="maps.auth.processing" required=""
class="ng-pristine ng-untouched md-input ng-empty ng-invalid ng-invalid-required" id="input_255" aria-invalid="true">
<div class="md-errors-spacer"></div>
<div ng-messages="maps.authForm.password.$error" class="error-policy md-input-messages-animation md-auto-hide ng-active" role="alert" multiple="" aria-live="assertive"><!-- ngMessage: required -->
<div ng-message="required" class="md-input-message-animation ng-binding ng-scope">Please enter a value for this field.</div><!-- ngMessage: passwordPolicy -->
</div>
<div class="password-hint ng-binding" ng-show="maps.passwordHint" aria-hidden="false">Password Rules: Must contain <!-- ngRepeat: policy in maps.localization.password_policy --><span ng-repeat="policy in maps.localization.password_policy"
class="ng-binding ng-scope">at least 8 characters, </span><!-- end ngRepeat: policy in maps.localization.password_policy --><span ng-repeat="policy in maps.localization.password_policy" class="ng-binding ng-scope">one uppercase,
</span><!-- end ngRepeat: policy in maps.localization.password_policy --><span ng-repeat="policy in maps.localization.password_policy" class="ng-binding ng-scope">one lowercase,
</span><!-- end ngRepeat: policy in maps.localization.password_policy --><span ng-repeat="policy in maps.localization.password_policy" class="ng-binding ng-scope">one number,
</span><!-- end ngRepeat: policy in maps.localization.password_policy --><span ng-repeat="policy in maps.localization.password_policy" class="ng-binding ng-scope">no
spaces</span><!-- end ngRepeat: policy in maps.localization.password_policy -->.</div>
</md-input-container><!-- end ngIf: maps.auth.type == 'register' && !maps.auth.mode --><!-- ngIf: maps.auth.type == 'register' && maps.auth.mode == 'complete' --><!-- ngIf: maps.auth.type == 'register' && maps.auth.mode == 'complete' --><!-- ngIf: maps.auth.type == 'register' && maps.auth.mode == 'complete' --><!-- ngIf: maps.auth.type == 'register' && maps.auth.mode == 'complete' --><!-- ngIf: maps.auth.mode == 'request_change' --><!-- ngIf: maps.auth.type == 'login' --><!-- ngIf: maps.auth.type == 'login' || maps.auth.mode == 'request_change' || (maps.auth.type == 'delete_account' && !maps.socialProvider) --><!-- ngIf: maps.auth.type == 'change' --><!-- ngIf: maps.auth.mode == 'verify' || maps.auth.mode == 'code' --><!-- ngIf: maps.auth.type == 'change_password' --><!-- ngIf: maps.auth.type == 'change_password' --><!-- ngIf: maps.auth.type == 'delete_account' && maps.socialProvider -->
<div class="auth-actions"><!-- ngIf: maps.auth.type == 'register' && !maps.auth.mode --><button class="md-primary md-raised md-button ng-scope md-ink-ripple incomplete mobileHide" type="submit" ng-transclude=""
ng-class="{incomplete: !maps.auth.email || !maps.auth.password, mobileHide: !maps.auth.continueWithEmail}" ng-click="maps.submitRegister()" aria-label="submit" ng-disabled="maps.auth.processing"
ng-if="maps.auth.type == 'register' && !maps.auth.mode"><span class="ng-binding ng-scope">Create
Account</span></button><!-- end ngIf: maps.auth.type == 'register' && !maps.auth.mode --><!-- ngIf: (maps.auth.type == 'register' || maps.auth.type == 'change') && maps.auth.mode == 'verify' --><!-- ngIf: maps.auth.type == 'register' && maps.auth.mode == 'complete' --><!-- ngIf: maps.auth.type == 'change' && maps.auth.mode == 'request_change' --><!-- ngIf: maps.auth.type == 'change_password' --><!-- ngIf: maps.auth.type == 'delete_account' --><!-- ngIf: maps.auth.type == 'change' && maps.auth.mode == 'complete' --><!-- ngIf: maps.auth.type == 'login' -->
</div>
<div class="alternatives tighten ng-binding ng-hide" ng-show="(maps.auth.type == 'register' || maps.auth.type == 'change') && maps.auth.mode == 'verify'" aria-hidden="true">Didn't get the email? <span class="bold-link ng-binding"
ng-click="maps.resendConfirmationCode()" ng-disabled="maps.auth.processing" role="button" tabindex="0" aria-disabled="false">Resend Verification Code</span></div><!-- ngIf: maps.auth.type == 'register' && !maps.auth.mode -->
<div class="mobile-benefits ng-scope" ng-if="maps.auth.type == 'register' && !maps.auth.mode">
<div class="exclusive ng-binding">Exclusive Member Benefits:</div>
<div class="features">
<div class="feature">
<div class="icon"><md-icon style="color: #dc9004" class="material-icons" role="img" aria-label="person_pin">person_pin</md-icon></div>
<div class="description ng-binding">Add your voice. Leave reviews, tips, photos, and more</div>
</div>
<div class="feature">
<div class="icon"><md-icon style="color: #189e18" class="material-icons" role="img" aria-label="directions_car">directions_car</md-icon></div>
<div class="description ng-binding">Add your vehicle. Automatically see only compatible chargers</div>
</div>
<div class="feature">
<div class="icon"><md-icon style="color: #3164d2" class="material-icons" role="img" aria-label="map">map</md-icon></div>
<div class="description ng-binding">Exclusive access to Trip Planner: smart routing for long journeys</div>
</div>
<div class="feature">
<div class="icon"><md-icon style="color: #c1c107" class="material-icons" role="img" aria-label="notifications_active">notifications_active</md-icon></div>
<div class="description ng-binding">Alerts when chargers open near you <span class="apponly ng-binding">(app only)</span></div>
</div>
<div class="feature">
<div class="icon"><md-icon style="color: #d86161" class="material-icons" role="img" aria-label="forum">forum</md-icon></div>
<div class="description ng-binding">Driver to driver messaging <span class="apponly ng-binding">(app only)</span></div>
</div>
</div>
</div><!-- end ngIf: maps.auth.type == 'register' && !maps.auth.mode -->
</md-content><!-- end ngIf: maps.auth.mode != 'link' --></form>
Text Content
Charging Locations from PlugShare Get the App PlugShare for Business en My ProfileLogout My Vehicle playlist_add Manage Vehicles BookmarksNo Bookmarks Login Register Register with PlugShare for Great Benefits! * Tailor PlugShare to your vehicle * Trip Planner for your longer drives * Bookmark your favorite locations * Share reviews and help other drivers Under Repair Partial Repair Restricted Residential share kW check Check In add Add to Trip remove Remove View on PlugShare star Bookmark photo Add Photo mail Message directions Directions mode_edit Edit warning Report Advertisements search location_on , phone attach_money This location has variable pricing View station level pricing details → local_parking Parking: layers Parking Level: present_to_all Overhead Clearance Meters: stars local_offer access_time info More Details Checkins () My Checkins () All Checkins () View More Leave a Checkin Photos () View More add_circle_outlineAdd Photo Share Link You can also copy the link from your browser's address bar. Nearby Locations Advertisements Report a Problem Check In arrow_back List Exit close Trip Planner Mode help_outlinemenuclose search No locations matching were found. Clear Search History Loading... Plugshare services failed to load. Please refresh your browser. If problems persist, please make sure connection to api.plugshare.com is working or contact us for further assistance. placeLegend chevron_leftexpand_more placePublic placeHigh Power placeRestricted placeIn Use Under Repair Residential Place 10 PlugScore Filters chevron_leftexpand_more Showing Filters for Reset Filters Use My Current Location Use My Current Location United States of America Afghanistan Åland Islands Albania Algeria American Samoa Andorra Angola Anguilla Antarctica Antigua and Barbuda Argentina Armenia Aruba Australia Austria Azerbaijan Bahamas Bahrain Bangladesh Barbados Belarus Belgium Belize Benin Bermuda Bhutan Bolivia (Plurinational State of) Bonaire, Sint Eustatius and Saba Bosnia and Herzegovina Botswana Bouvet Island Brazil British Indian Ocean Territory Brunei Darussalam Bulgaria Burkina Faso Burundi Cabo Verde Cambodia Cameroon Canada Cayman Islands Central African Republic Chad Chile China Christmas Island Cocos (Keeling) Islands Colombia Comoros Congo Congo (Democratic Republic of the) Cook Islands Costa Rica Côte d'Ivoire Croatia Curaçao Cyprus Czechia Denmark Djibouti Dominica Dominican Republic Ecuador Egypt El Salvador Equatorial Guinea Eritrea Estonia Eswatini Ethiopia Falkland Islands (Malvinas) Faroe Islands Fiji Finland France French Guiana French Polynesia French Southern Territories Gabon Gambia Georgia Germany Ghana Gibraltar Greece Greenland Grenada Guadeloupe Guam Guatemala Guernsey Guinea Guinea-Bissau Guyana Haiti Heard Island and McDonald Islands Holy See Honduras Hong Kong Hungary Iceland India Indonesia Iraq Ireland Isle of Man Israel Italy Jamaica Japan Jersey Jordan Kazakhstan Kenya Kiribati Korea (Republic of) Kuwait Kyrgyzstan Lao People's Democratic Republic Latvia Lebanon Lesotho Liberia Libya Liechtenstein Lithuania Luxembourg Macao Macedonia (the former Yugoslav Republic of) Madagascar Malawi Malaysia Maldives Mali Malta Marshall Islands Martinique Mauritania Mauritius Mayotte Mexico Micronesia (Federated States of) Moldova (Republic of) Monaco Mongolia Montenegro Montserrat Morocco Mozambique Myanmar Namibia Nauru Nepal Netherlands New Caledonia New Zealand Nicaragua Niger Nigeria Niue Norfolk Island Northern Mariana Islands Norway Oman Pakistan Palau Palestine, State of Panama Papua New Guinea Paraguay Peru Philippines Pitcairn Poland Portugal Puerto Rico Qatar Réunion Romania Russian Federation Rwanda Saint Barthélemy Saint Helena, Ascension and Tristan da Cunha Saint Kitts and Nevis Saint Lucia Saint Martin (French part) Saint Pierre and Miquelon Saint Vincent and the Grenadines Samoa San Marino Sao Tome and Principe Saudi Arabia Senegal Serbia Seychelles Sierra Leone Singapore Sint Maarten (Dutch part) Slovakia Slovenia Solomon Islands Somalia South Africa South Georgia and the South Sandwich Islands South Sudan Spain Sri Lanka Sudan Suriname Svalbard and Jan Mayen Sweden Switzerland Taiwan Tajikistan Tanzania, United Republic of Thailand Timor-Leste Togo Tokelau Tonga Trinidad and Tobago Tunisia Turkey Turkmenistan Turks and Caicos Islands Tuvalu Uganda Ukraine United Arab Emirates United Kingdom of Great Britain and Northern Ireland United States Minor Outlying Islands Uruguay Uzbekistan Vanuatu Venezuela (Bolivarian Republic of) Viet Nam Virgin Islands (British) Virgin Islands (U.S.) Wallis and Futuna Western Sahara Yemen Zambia Zimbabwe playlist_addVehicle Not Selected Add Vehicle playlist_addManage Vehicles Show only relevant plugs by adding a vehicle These plug filters are saved to your vehicle refreshReset plugs to match vehicle defaults donePlug filters match my vehicle defaults Plugs (12 of 12) error Toggle All Tesla (Fast) CCS/SAE CHAdeMO J-1772 Tesla Tesla (Roadster) Type 2 Type 3 Three Phase Caravan Mains Socket Wall (Euro) Type 3A Incompatible plugs chevron_leftexpand_more Tesla (Fast) CCS/SAE CHAdeMO J-1772 Tesla Tesla (Roadster) Type 2 Type 3 Three Phase Caravan Mains Socket Wall (Euro) Type 3A Location Filters (3 of 5) Show Locations That Require Payment Show In-Use Locations Show Restricted Locations Show Residential Locations Show Coming Soon Locations Minimum Power (0 kW) 0 0 50 70 120 200 Locations shown are not being filtered by kilowatts Locations shown are being filtered by kilowatts Networks (9 of 9) error chevron_leftexpand_more Toggle All Allego ChargePoint Fastned GreenWay IONITY Shell Recharge Supercharger Tesla Destination Other * Other includes 'other networks' and 'non-networked' locations (recommended on) ** Temporary Filters (0 of 10) Accepts Pay with PlugShare Lodging Dining Restrooms EV Parking Valet Parking Park WiFi Shopping Grocery Hiking Camping These restrictive filters hide any locations not matching requirements, so they are not saved on refresh ** Minimum PlugScore (0) 0 Locations shown are not being filtered by PlugScore Locations shown are being filtered by PlugScore Toggle Rank account_circleMy Account chevron_leftexpand_more LoginRegisterMy ProfileMy VehicleLogout battery_charging_fullPay with PlugShare History chevron_leftexpand_more Get started with Pay with PlugShare Load More starBookmarks chevron_leftexpand_more No Bookmarks Add Station chevron_leftexpand_more Add Public LocationShare Home ChargerView Home Charger directions_carTrip Planner chevron_leftexpand_more Plan a New TripPlan a New Trip historyRecent Activity settingsSettings help_outlineHelp messageSubmit Feedback shopping_cartPlugShare Store PlugShare for Business get_appGet the App chevron_leftexpand_more Apple App Store Google Play Store Custom View Active 12 Plugs 9+ Networks battery_charging_fullView Active Charging Session close my_location 250 Charging LocationsTraffic MapTerrainSatellite vpn_lockClear Area Filter: layers_clearClear Amenity FilterslistBack to Trip Sorry, it looks like PlugShare did not load correctly. Please try a hard refresh or clear your browser cache and try again. View How To navigate, press the arrow keys. ←Move left→Move right↑Move up↓Move down+Zoom in-Zoom outHomeJump left by 75%EndJump right by 75%Page UpJump up by 75%Page DownJump down by 75% Keyboard shortcuts Map DataMap data ©2023 Google, INEGI Map data ©2023 Google, INEGI 200 mi Click to toggle between metric and imperial units Terms of Use Report a map error Trip Planner help_outlineREAD ONLY close Loading... Trip Name swap_vert Start Total Distance: mi km About hours mins Total Time Including Waiting: About hours mins Warning: segments of your trip have 'total distance between two charging locations' greater than your 'max range estimate' (shown above in red). We recommend adding additional charging location(s) in between. aspect_ratio Map flag Overview landscape Elevation save Save Search No locations matching were found. View Directions open_in_new Options Show Along Route Only Search Radius: 2 miles 3.2 kilometers Metric 2 Show Range Estimate Estimated Max Range: 100 miles 160.9 kilometers refresh 100 The circle does not account for pathing, elevation, road or weather conditions. Please plan accordingly. Add Wait Times Define your own wait / charge times at each stop. Customizable up top, between each added stop. Total Wait Time: hours mins Avoid Tolls Avoid Highways Avoid Ferries Filters Minimum Power: 0 kW 0 Hotel/Lodging settingsPlugs, Networks, Amenities, PlugScore, etc. Advertisements close © 2023 Recargo, Inc. All rights reserved. Privacy Settings Privacy Policy Terms of Use Developers Stats FAQ Advertise Your new email is unverified. Please verify your new email to complete your email change. Your email is unverified. Please verify your Email to validate your account. Your registration is incomplete. Please complete your profile to fully activate your account. Join the largest EV community. Fast and Free. Exclusive Member Benefits: person_pin Add your voice. Leave reviews, tips, photos, and more directions_car Add your vehicle. Automatically see only compatible chargers map Exclusive access to Trip Planner: smart routing for long journeys notifications_active Alerts when chargers open near you (app only) forum Driver to driver messaging (app only) Have you tried the PlugShare Trip Planner Plan your next trip with our easy to use tool: ✓ Focus your search Only show locations along your route ✓ Simple yet flexible Filter to be nearby hotels, restaurants, etc. ✓ Elevation Profiles Helps you plan accordingly ✓ Save and load trips Works across devices - it's mobile friendly! Login or Register Now for Instant Access close REGISTER REGISTER LOGIN Joining PlugShare is Fast and Free By continuing you agree to our: Privacy Policy & Terms of Use Continue with Google Continue with Apple email Continue with Email or continue with email You are authenticated with Email Please enter a value for this field. Password Please enter a value for this field. Password Rules: Must contain at least 8 characters, one uppercase, one lowercase, one number, no spaces. Create Account Didn't get the email? Resend Verification Code Exclusive Member Benefits: person_pin Add your voice. Leave reviews, tips, photos, and more directions_car Add your vehicle. Automatically see only compatible chargers map Exclusive access to Trip Planner: smart routing for long journeys notifications_active Alerts when chargers open near you (app only) forum Driver to driver messaging (app only) Already have an account? Login