www.plugshare.com Open in urlscan Pro
2606:4700::6812:7863  Public Scan

Submitted URL: http://www.plugshare.com/
Effective URL: https://www.plugshare.com/
Submission: On December 07 via api 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 &amp;&amp; maps.mobile &amp;&amp; maps.searchHistory.length)"><md-icon ng-show="!maps.menu.menu &amp;&amp; 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 &amp;&amp; !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" ng-click="maps.searchClick()" placeholder="Search for a Charging Location" autofocus=""
    tabindex="-1" class="ng-isolate-scope" role="button"> <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 &amp; 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="189.45719910315844" transform="rotate(-90 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 &amp;&amp; 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 &amp;&amp; maps.router.showWarning &amp;&amp; maps.router.dangerousSegments > 0 &amp;&amp; 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 &amp;&amp; !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 &amp;&amp; !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 &amp;&amp; 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 &quot;{{maps.route_last_query}}&quot; were found." ng-show="maps.route_last_query &amp;&amp; maps.route_search_results.length === 0" role="menuitem" title="No locations matching &quot;&quot; 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="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' &amp;&amp; !maps.auth.mode) || (maps.auth.type == 'login' &amp;&amp; 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' &amp;&amp; !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' &amp;&amp; !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' &amp;&amp; !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' &amp;&amp; !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> &amp;
      <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 &amp;&amp; maps.auth.mode != 'code' &amp;&amp; !maps.auth.hideSocial">
      <div class="methods"><!-- ngIf: !maps.auth.mode -->
        <div class="social-signin google ng-scope" ng-class="{mobileHide: maps.auth.continueWithEmail &amp;&amp; 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 &amp;&amp; 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' &amp;&amp; !maps.auth.mode &amp;&amp; !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' &amp;&amp; maps.auth.mode == 'complete' &amp;&amp; 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-invalid"
      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 md-input ng-empty ng-invalid ng-invalid-required ng-valid-email ng-touched" aria-invalid="true"
        style="">
      <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" style="opacity: 1; margin-top: 0px;">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' &amp;&amp; !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" style="">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' &amp;&amp; !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') &amp;&amp; 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' &amp;&amp; !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
Private Home




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
PlugScore
0

Locations will not be filtered by PlugScore Locations with a PlugScore of 0 or
greater will be visible Only locations with a PlugScore of 10 will be visible
Kilowatt Range: 0 kW - 350+ kW
0
350
0
350+
Station Count
Any2+4+6+
Amenities
Dining
Restrooms
Shopping
Lodging
Park
Grocery
WiFi
Valet Parking
Hiking
Camping
Free Charging
Additional Filters (0 of 6)
Hide Dealerships
Hide Restricted Access
Show Private Homes
Coming Soon
Pay with PlugShare
Available Now
Parking (0 of 4)
Accessible
Pull through
Pull in
Trailer friendly
Networks (9 of 9)
error
chevron_leftexpand_more
Toggle All
Allego
ChargePoint
ChargeUP
Fastned
GreenWay
IONITY
Supercharger
Tesla Destination
Other *
Other includes 'other networks' and 'non-networked' locations (recommended on)
**
Vehicle & Plugs
Your vehicle is used to determine compatible charging stations
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
Plugs (12 of 12)
error
chevron_leftexpand_more
Toggle All
refreshReset plugs to match vehicle defaults donePlug filters match my vehicle
defaults
Tesla (Fast)

CCS/SAE

CHAdeMO

J-1772

Tesla

Tesla (Roadster)

Type 2

Type 3

Three Phase

Caravan Mains Socket

Wall (Euro)

Type 3A
More - Plugs may require an adapter
Tesla (Fast)

CCS/SAE

CHAdeMO

J-1772

Tesla

Tesla (Roadster)

Type 2

Type 3

Three Phase

Caravan Mains Socket

Wall (Euro)

Type 3A
Country
Country is used to determine the networks and vehicles available to your region
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
Reset Filters
Share Feedback
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.











































































































































































































































































Keyboard shortcuts
Map DataMap data ©2023 Google, INEGI
Map data ©2023 Google, INEGI

200 mi 

Click to toggle between metric and imperial units
Terms
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
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